也就是有专门的server程序,将Server程序安装在工控机上面以后,在上面就可以看到PLC的内部寄存器的值。
如果你想专门的显示在界面上,比如是VB,或者是VC++界面的话,你相应的添加代码就可以了!
这个我用过,还可以的!
1还是OPC方式:用Kepware公司的KEPServerEXOPC,或者TOP公司的TOPOPC。西门子以太网驱动的授权大概是500美金左右。可以支持最多16个以太网卡,每网卡最多支持64个CPX43-1。每计算机最多可以支持126个CPX43-1。VB做OPCClient就可以了。各个公司成品的解决方案倒是没有,但是相关的论文倒是可以搜出来一大堆。VB做OPCClient一点点都不难的。2DLL方式:(请跟西门子资深工程师核实下)购买西门子公司的ProDaveV6版本,“据说”ProDave从V6版本开始,除了支持MPI外,还支持IE(工业以太网)方式。这样你可以基于ProDave开发上位的通讯程序,直接访问DLL即可,坏处是难度比用OPC的方式大,好处是买ProDave是一次性投资,通讯程序做好后,你可不用每台电脑都装ProDave了。VB要通过以太网访问PLC中的数据可能就这么几种方式。另外VB开发监控系统,跟你在Step7如何调用没有任何关系。你继续用你的Step7编写你的程序。上位的监控仅仅需要访问下位的地址就可以了。比如你要显示一个模拟量的值,你可以用FC105,也可以自己写语句转换,上位软件管你用的是什么功能块,只需要明确的告诉他,要访问的数据是什么格式的,整型还是浮点型?地址是多少。就OK了。
一般用电脑串口与PLC通讯,用VC调用串口通讯控件与PLC通讯,串口控件VC可以用MScomm 控件,或调用API函数,可以利用接受的数据来显示组态画面,向PLC发送命令来控制PLC 动作,不同的PLC 命令、协议都不一样,PLC说明一般都有。
首先将端口串行化:
commh = CreateFile(tmpstr, GENERIC_READ,GENERIC_WRITE, NULL, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
然后设 DCB。读使用 ReadFile(hComm, lpBuf, READ_BUF_SIZE, &dwRead, &osReader); 写使用 WriteFile(hComm, lpBuf, dwToWrite, &dwWritten, &osWrite);
也可以使用 _inp, _outp 来直接写串口的端口。
以上就是关于工控机如何和PLC通讯,需要自己用VC++制作页面吗全部的内容,包括:工控机如何和PLC通讯,需要自己用VC++制作页面吗、请教斑竹 :VB 或者VC 与PLC的TCP/IP通信问题、VC编程后怎样与外部硬件连接如PLC等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)