VC++的监控界面与PLC通讯

发布时间:2023-08-08
问:我的下位机是西门子s7-300,上位机是由vc++编写的监控界面的pc机,现在上位监控与plc要实现通讯,请问有哪些通讯方式,哪种通讯方式比较好,每种方式是如何实现的?
答:1、prodave通讯
prodave是西门子提供的一个软件包,为高级语言编程和plc通讯提供接口。
通讯接口:mpi
因为mpi口是每块cpu的编程口,所以plc不需要另外添加通讯模块,这个方案就比较经济,而且prodave软件包里面附带了example和详细的说明,用起来应该比较简单和方便(本人只匆匆看过文档,没有实验过)。这方面的资料在百度上很多。当然,mpi的速度是有限的,如果采用普通的pcadapter连接pc和plc,最高速度也就38.4kbps,我不知道prodave能否支持mpi卡(5611之类的话),如果可以的话速度可以达到187.5kbps。
2、串行通讯
看到过一些论文,采用串行通讯的方法实现pc和plc通讯。这种情况存在几点要求:
a、需要为plc添加一块串行通讯模块,比如300的话就需要cp340或者cp341(前者便宜些);
b、plc里面需要对串行通讯进行编程,其实也就是接收报文和发送报文,调用fb2/fb3(cp340的话)。
c、串行通讯的速度是有目共睹的,而且cp340或者cp341的数据吞吐量也是有限的,即报文长度是有限制的,因此个人认为通讯数据量大的话采用串行通讯就不合适了。
d、报文格式的话就比较自由,但是也应当合理,我虽然没有具体实验过,但是个人认为可以参考modbus的报文结构来编程,甚至就采用modbus的规范,不过这样的话要求编程者对pc和plc侧的modbus编程都要熟悉。
3、opc
opc是这些年来很流行的东西,其实我很讨厌opc的安全认证的设定。不过采用opc编程来访问plc真的是一件非常轻松惬意的事情。你需要做的就是了解opc的结构和编程,尤其是采用vb来编写opc简直是件傻瓜化的工作当然也牺牲了很多。
前面我实验了用vb通过opc(以太网)来访问300,包括用西门子的simaticnet提供的opc接口和第三方的kepserver。
采用opc接口编程的优点:通讯速度快,编程简单。
4、以太网编程
采用以太网编程访问plc,其实又可以分为两种:
一种是socket接口,需要在plc里面编程进行收/发,大概是fc5/fc6吧,印象不深了,当然plc里面要定义一个connection,填好地址、端口号之类的信息,这个对于熟悉西门子工业通讯的人是很easy的事情。pc侧采用socket接口编程,最简单的就是vb里面的wisock控件,当然这掩盖了很多细节。socket编程本来就是一门艺术,讲究说学逗唱:)
这个方法的优点应该是pc侧编程稍微简单点(相对于后一种),而且可以不局限于windows平台,因为socket接口被诸如unix支持的更好。
第二种是采用西门子的sapi接口函数,这样plc里面不需要过多的编程了,当然pc侧的编程难度就比较高了,ms只能用c来写,所以我望而却步鸟。
上一个:电脑系统分盘扩展卷(系统分区不能扩展)
下一个:【常绿乔木】-龙柏简介

轩辕剑之天之痕小游戏(轩辕剑之天之痕游戏百度百科)
手机刷机解锁怎么解呢,华为手机刷机怎么申请解锁码
惠普u盘和闪迪u盘哪个好
oppor7s怎么设置来电视频,oppor7怎么设置来电秀
MIUI7怎么安装非官方字体,从小米主题商店下载的主题安装的时候居然显示非官方市场下载
你知道工程造价分哪几个阶段吗?
小型火力发电厂热水网补水方式、补给水泵的容量和台数规定有哪些?
diy电脑装机视频教程(新手diy电脑之入门篇)
你拔打的电话暂时无法接听电话怎么回事(你拔打的电话暂时无法接听电话是关机吗)
魔兽怀旧服大脚不能用(魔兽世界大脚还能用吗)