项目中涉及到一款仪表,仪表一直给PLC port0口发送数据,我将SMB30设置为16#09,接收的仪表数据格式示例:022B03030303030303034103,我想将SMB82设置为02,SMB89设置为03,如果超过30ms接收不到起始符02和终止符号03这两个数据就重新接受下一次数据(这样只是为了保证接收的数据完整有效,这里可以提出建议),具体写程序应该怎么写,本人写下的程序收不到数据。谢谢大家对我问题的关心。
问题补充:
我做了如下梯形图,为什么不行呢,希望回答的详细点,指出其中的错误。
图片说明:
最佳答案
主程序编写思路没有问题,但是程序中的SMB92需要改为SMW92;
中断程序编写没有理解,请问中断程序是否为接收成功了再次开始新的接收呀,
如果是这样只需要在中断程序中用SM0.0调用RCV指令即可。
提问者对于答案的评价:
知我者,当属你。现已测试接收到数据。另外SMB92=200ms。如果超过255才需要SMW92吧.我认为在低于255时写成SMB或SMW都行吧。总的来说,感谢大家对我问题的关系,分就给理解我心思的吧
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc301158.html