想要实现plc与工控机的毫秒级通讯,根据400plc返回的触发信号,触发特定程序的运行。这个程序是根据plc返回的压力信号进行运算,将得到的计算结果以毫秒级再返回给plc。请问应该如何架构,使用什么软硬件。
问题补充:
实现10到20ms也可以,采用opc服务器加客户端的模式可以么?比如使用simatic.2006。另外,我没有用过winac。能提供相关的资料么?
最佳答案
Windows不是实时操作系统,可供分配的中断优先级较少,没有实时性,所以使用基于Windows的上位机应用程序达到毫秒级的通信速率,几乎是不可能的。
OPC方式解决的是不同设备厂商之间通信的兼容问题,从通信速率的角度上看,它可能是最慢的一种。西门子OPC Server默认的的刷新速率是100ms,更改设置也没什么意义。
楼上所建议的WinAC是个好办法,但最好使用PROFINET RT/IRT通信(从WinAC RTX 2008开始支持),这样可以达到毫秒级的通信速率。
至于上位机的高级算法,有可能的话可以转化为WinAC的STEP7程序;否则也可以通过WinAC ODK中的CCX(用户代码扩展)通过STEP7程序直接调用外部.dll,或者SMX(共享内存交换)直接在WinAC的内存数据和高级算法之间交换数据实现。
楼主可以到下载中心搜索编号为A0183的文档《WinAC深入浅出》,参考里面关于WinAC RTX即ODK的章节。
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=WinAC&PageIndex=2
提问者对于答案的评价:
谢谢各位的回答
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc313787.html