CALL SFB 49 , "DI_PULSE_1"
// 慢压射
LADDR :="DI_PULSE_1".LADDR
// Count Address:768
CHANNEL :=0
SW_EN :="DI_PULSE_1".SW_EN
MAN_DO :="DI_PULSE_1".MAN_DO
SET_DO :="DI_PULSE_1".SET_DO
OUTP_VAL:="DI_PULSE_1".OUTP_VAL
JOB_REQ :="DI_PULSE_1".JOB_REQ
JOB_ID :="DI_PULSE_1".JOB_ID
JOB_VAL :="DI_PULSE_1".JOB_VAL
STS_EN :="DI_PULSE_1".STS_EN
STS_STRT:="DI_PULSE_1".STS_STRT
STS_DO :="DI_PULSE_1".STS_DO
JOB_DONE:="DI_PULSE_1".JOB_DONE
JOB_ERR :="DI_PULSE_1".JOB_ERR
JOB_STAT:="DI_PULSE_1".JOB_STAT
2. 在压射过程中如何高速采样位置、压力和速度数据是项目的难点。在硬件上,我们选用SM335模块,它的模拟量输入处理速度约为每通道200us,精度为14位,并产生硬件中断OB40。系统中设定了2ms的硬件中断,在压射过程中采集位置、压力和速度数据;在PLC程序方面,我们使用了变址寻址的编程技巧,压缩程序空间,提高运行效率,使系统可以在2ms的中断周期内完成运算;在HMI方面,配置了TREND曲线,在压射过程结束后可以马上更新曲线。
L #Index
SLD 4
LAR1
OPN "DB_Curve"
L #Act_Pos
T DBW [AR1,P#0.0] // Actual Position
L #Act_Prs
T DBW [AR1,P#4000.0] // Actual Pressure
L #Act_Pos
L #Act_PosPre
-I
L 33
*I
T DBW [AR1,P#8000.0] // Actual Speed
L #Act_Pos
T #Act_PosPre
L #Index
+ 1
T #Index