| $!
$! This is the patch command file for Simatic V2.2 dated 26-SEP-1989
$! 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") ...
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$!
$ 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
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
|