同时向PLC写入10字节的问题

各位高手,用WinCC需要同时对S7 300写入10个字节的数据,假设10byte从MB581-MB590,我想通过下面的代码实现,请问我该怎么写,由于我对C不很了解,希望高手能给出一个完整的代码,谢谢了。
 或通过其他方式可以实现,也可以,请高手赐教。
 //定义一个原始数据类型变量,以下是局部脚本举例

 #define DATA_SIZE 10

 BYTE byData[DATA_SIZE];

 int data;

 data=GetTagWord("tagname0");byData[1]=data;

 data=GetTagWord("tagname1");byData[3]=data;

 data=GetTagWord("tagname2");byData[5]=data;

 data=GetTagWord("tagname3");byData[7]=data;

 data=GetTagWord("tagname4");byData[9]=data;

  

  

 SetTagRaw("rawtagname",byData,DATA_SIZE);

 //SetTagRaw是先定义后组合,再付值。

 //GetTagRaw一样,先定义后取出,再分配

 

问题补充:
具体说说,就是用代码对10个字节写入寄存器,分开写会出错,就是怎么把10个byte组合在一起 然后以一个变量的形式写入寄存器。

最佳答案

一个关于数据完整性的问题。
 我想wincc和step7通讯中应该有专门的功能块来实现,如果没有就只好自己编程序来实现了,增加额外的信息位来进行同步(如数据准备就绪、数据已读出)。

提问者对于答案的评价:
能不能跟我说说具体怎么做 我的邮箱是nickleen@yeah.net

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc269718.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐