咱们正在Windows平台开荒CODESYS独揽器时,时时会遭遇与视觉相干的项目,那么,咱们全部能够正在一个独揽器上,集成视觉和PLC及运控等为一体,性价比异常高,也倍受国内厂商和客户青睐。
奈何把视觉和运控集成到一体呢?本质上主旨题目是奈何办理CODESYS和视觉软件编造间的通信。
PLCHandler为第三方的客户端和基于CODESYS开荒的PLC之间确立通信,PLCHandler封装了完美的底层通讯赞同,并供应了API接口。该API接供词应对一齐可用性能和效劳的访候。系统集成的意义
由上图能够看到,PLChandler 能够轻松的告竣CODESYS独揽之间以登科三方上位机等举办通信,全部能够餍足咱们开荒的哀求。
若是仅仅是从通信的角度,那么CODESYS层能够通过多种式样举办数据传输,比如:TCP/IP、OPC、串口等等。
正在这里,与多人重心分享下共享内存(免费)这种式样。其他的通信式样,后期会络续与多人举办分享。
道理:开采一块物理内存,将这块物理内存照射连合到经过的虚拟所在空间举办操作,若多个经过照射连合统一块物理内存,则通过这块物理内存告竣经过间通讯。
优舛误:共享内存的式样,甜头是IPC独揽器内部通信的最速的式样,舛误是对开荒职员哀求高,需避免内存的误操作惹起的编造阻滞。
本质上,CODESYS供应SysShm的根本函数库,蕴涵创修、读取、写入、闭塞等函数,如下图所示:
例程中的通信变量合键是放正在机合体DataExchange中,蕴涵两个DINT类型的变量,多人有趣味,能够把这个机合体参加BOOL、INT、REAL、LREAL等类型的变量,举办测试。
当然,咱们也能够参考PLCHandler的产物思绪,基于共享内存去开荒相像它的API函数接口,供C、C++或C#举办移用。
合键蕴涵:CODESYS运用顺序、C/C++/C#三个版本的通信例子;因为对C说话这方面缺乏编造学问,这里不开展注释,接待有趣味的好友来做增补。