我之前用VB编了一个采集程序,把一个数字毫伏表的输出采集到一个文本里,显示值和毫伏表显示值是一样的。现在我想把毫伏表的输出直接输入到PLC中,之后把前一时刻和后一时刻的值做比较,以便完成相应的控制。应该如何做啊?
问题补充:
我是想问下,VB和PLC之间的通信,就是如何把VB的值输入到PLC里,有没有什么命令啊?
最佳答案
既然你对VB侧的通讯没问题,那么我只写一个PLC侧的接收程序供你参考。
假如VB向PLC发送的一帧为N个字节,你需要存储M帧数据,那么就将中断程序网络2里面的两个40改为M*N即可。
主程序:
LD SM0.1
MOVD &VB4, VD0
MOVB 0, MB0
MOVB 9, SMB30
ATCH INT_0, 8
ENI
中断0程序:
网络1:
LD SM0.0
INCB MB0
MOVB SMB2, *VD0
INCD VD0
网络2:
LDB= MB0, 40
MOVB 0, MB0
-D +40, VD0
假如一帧为10个字节,你需要存储3帧数据,那么就将40改为30.
从VB4到VB13为一帧,从VB14到VB23为下一帧,从VB24到VB33为下下帧。
然后你就可以对数据比较处理了。
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc352366.html