采用PC与222 PLC通信,自由口模式,PC发送开始命令后,PLC控制两台步进电机按一定顺序动作,其中一台步进电机在运行过程中需要采集一个模拟量位移信号,将该数据发送至PC,但在通信过程中,数据经常发送一定次数后就不发送了,大家帮我看看程序有什么问题吗,谢谢?程序采用SCR,通信都设置好了。
主程序:
// 横向步进电机正转运行,在此过程中,测量并发送数据
LSCR S2.0
Network 2
// 禁止接收
LD SM0.0
R SM87.7, 1
RCV VB100, 0
Network 3
// 电机禁止运行
LD SM0.0
R SM77.7, 1
PLS 1
Network 4
// 步进电机方向设置
LD SM0.0
S Q0.2, 1
Network 5
// 设置脉冲周期,脉冲个数,发送完脉冲后进中断,中断次数为需要测量点的个数,中断号为19
LDN I0.1
AN I0.0
A SM0.0
MOVB 16#85, SMB67
MOVW 5000, SMW68
MOVD 21, SMD72
PLS 0
ATCH INT0, 19
ENI
Network 6
SCRE
中断:
Network 2
// 禁止接收
LD SM0.0
R SM87.7, 1
RCV VB100, 0
Network 3
LD SM0.0
DTCH 19
Network 4
// VW22中存放横坐标,VW20中存放纵坐标
LD SM0.0
MOVW VW202, VW20
*I VW0, VW20
Network 5
// 测量点加1
LD SM0.0
+I +1, VW2
MOVW VW2, VW22
Network 6 // 网络标题
// 采集传感器,
LD SM0.0
MOVW AIW0, AC0
-I +6400, AC0
ITD AC0, AC1
*D +50000, AC1
/D 2636, AC1
MOVD +125000, VD24
+D AC1, VD24
// 发送
LDW<= VW22, 901
MOVB 8, VB19
XMT VB19, 0