[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference ufhis::siemens_communication

Title:Siemens Connectivity
Notice:FTSIE Contact is Michael Eisenhut @MUC 865-1487
Moderator:UFHIS::MEISENHU
Created:Tue Aug 30 1988
Last Modified:Mon Feb 19 1996
Last Successful Update:Fri Jun 06 1997
Number of topics:195
Total number of notes:512

62.0. "Patches dated 20-APR-1990" by KETJE::PACCOP () Mon Apr 23 1990 12:59

$!
$! This is the patch command file for Simatic V2.2 dated 20-APR-1990
$! Author: Dominique PACCO, ACT Brussels.
$!
$!	Create this file S5$PATCH022.COM in the S5$SYSTEM directory.
$!	Execute @SYS$UPDATE:VMSINSTAL using Your VAX-SIMATIC_S5 distribution.
$!	Finally, execute this PATCH file.
$!	You can check the journal files S5$SIMATIC.JNL and S5$SUBSHR.JNL in
$!	S5$SYSTEM.
$!
$!	Problem 1
$!	*********
$!	When the call S5$DISCONNECT_UNSOLLICITED is used, the synchronization
$!	mechanism was not specified explicitely.  Therefore different
$!	behaviours were possible, inclusive unexpected access violation.
$!
$!	Problem 2
$!	*********
$!	When unsollicited was not acknowledged and a second unsollicited
$!	input is accepted, the handler exited with a reserved operand error.
$!
$!	Problem 3
$!	*********
$!	The S5$SHUTDOWN.COM file does not stop the handler.
$!
$!	Problem 4
$!	*********
$!	When collisions on the line are encountered and collision handling
$!	is not done according exact timings, it happens that the line
$!	on the PLC line side becomes blocked.  The only way to exit from that
$!	situation is to send a <NAK> to the PLC.  Version 2.2 didn't handle
$!	this case.  This patch will send a <NAK> on the line after 2 retries,
$!	but at the same time will retry to send a telegram to the
$!	PLC up to 6 times in total, and then send a <NAK> a second time.
$!
$ type sys$input
	!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	Please modify the 29 and 42th line in the S5$SHUTDOWN.COM file:
line 29	!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
from:	$ if f$getjpi(pid,"UIC") .nes. "[SYSTEM]" .or. f$getjpi(pid,"UIC") ...
into:	$ if f$getjpi(pid,"UIC") .nes. "[SYSTEM]" .and. f$getjpi(pid,"UIC") ...
line 42	!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
from:	$ if f$getjpi(pid,"UIC") .nes. "[SYSTEM]" .or. f$getjpi(pid,"UIC") ...
into:	$ if f$getjpi(pid,"UIC") .nes. "[SYSTEM]" .and. f$getjpi(pid,"UIC") ...
	!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$!
$!	Problem 5
$!	*********
$!	When the handler encounters a transmission error, after
$!	having correctly sent a request message to the PLC, and being
$!	in the process and finally also achieves to get a valid
$!	response message, the handler attempts one more time send that
$!	request message.  The result for the application is the reception
$!	of two S5$QIO AST's instead of one.  Some applications
$!	accept this, but others, mainly these which rely on critical
$!	AST_PARAMETER information could have a nasty side effects.
$!
$!	Problem 6
$!	*********
$!	When the handler gets timing problems it could happen that
$!	it becomes totally confused and thinks that a message receive
$!	time_out of 5 seconds occured immedialtey after having sent a 
$!	message correctly.
$!	If two messages are sent immediately after each other, the first
$!	message receives a time-out but the second receives the answer
$!	from the first.  This could result in S5$_DATOVERUN or S5$_DATUNDERN
$!	errors, and worser, an answer which is not correct.
$!
$ delete s5$system:*.jnl;*
$ patch/journal=s5$simatic.jnl/out=s5$simatic.exe s5$simatic.exe
define pure=200
define data=400
define code=0e00
!***********
! Problem 2.
!***********
replace/instr code+16ad='brw	24b8'
'brw	24b2'
exit
!***********
! Problem 4.
!***********
replace/byte pure+33=5
6
exit
replace/instr code+0b6c='incb	l^86e'
'incb	l^86e'
'cmpb	l^86e,l^23c'
'bneq	.+61'
!
'movb	#15,l^88b'
'clrq	-(sp)'
'clrq	-(sp)'
'pushl	#1'
'pushal	l^88b'
'clrq	-(sp)'
'pushaq	l^86f'
'movzwl	#20,-(sp)'
'movzwl	l^7df,-(sp)'
'pushl	#0'
'calls	#0c,@#7ffede00'
'blbs	r0,.+9'
'pushl	#0'
'calls	#1,@l^3048'
'blbs	l^86f,.+3'
'brw	139f'
'tstb	l^0d3d'
'beql	.+15'
'pushl	#53'
'pushab	l^88b'
'pushl	#1'
'calls	#3,l^2a93'
!
'cmpb	l^86e,l^233'
'bgtru	.+3'
'brw	141a'
!
'movb	#15,l^88b'
'clrq	-(sp)'
'clrq	-(sp)'
'pushl	#1'
'pushal	l^88b'
'clrq	-(sp)'
'pushaq	l^86f'
'movzwl	#20,-(sp)'
'movzwl	l^7df,-(sp)'
'pushl	#0'
'calls	#0c,@#7ffede00'
'blbs	r0,.+9'
'pushl	#0'
'calls	#1,@l^3048'
'blbs	l^86f,.+3'
'brw	139f'
'tstb	l^0d3d'
'beql	.+15'
'pushl	#53'
'pushab	l^88b'
'pushl	#1'
'calls	#3,l^2a93'
!
'brw	1982'
!
exit
!***********
! Problem 5.
!***********
replace/instr code+0f43='brw	code+59f'
'brw	code+5a5'
exit
replace/instr code+010ec='brw	code+59f'
'brw	code+5a5'
exit
!***********
! Problem 6.
!***********
replace/instr code+19B3='movc3	#24,b^0A(r9),b^0A(r8)'
'clrb	l^0d78'
'movc3	#24,b^0A(r9),b^0A(r8)'
exit
update
$!
$ patch/journal=s5$subshr.jnl/out=s5$subshr.exe -
					s5$subshr.exe
define pure=200
define data=400
define code=0a00
!***********
! Problem 1.
!***********
replace/instr code+347='movb	#6,b^18(r10)'
'clrb	b^1b(r10)'
'movb	#6,b^18(r10)'
exit
update
    
T.RTitleUserPersonal
Name
DateLines