您好!欢迎光临工博士商城

西门子品牌服务商

产品:4086    

咨询热线:18597848426

QQ QQwx 微信
您当前的位置:首页 » 西门子新闻中心 » 终于有人把西门子PLC模块通信说明白了
产品分类
西门子新闻中心
终于有人把西门子PLC模块通信说明白了
发布时间:2023-02-24        浏览次数:233        返回列表
西门子PLC模块 前言
        众所周知,西门子在工控领域的市场占有率很大,那么对于上位机开发人员来说,使用西门子PLC模块作为下位机,我们应该如何与之进行通信呢?
        西门子PLC模块支持很多种通信协议,主要分为三种通信方式,一种是串口通信,一种是以太网通信,同时也可以通过OPC实现数据通信。

西门子PLC模块 串口通信
        西门子PLC模块支持串口通信,在S7-200和S7-200Smart中,都直接集成了串口,但是从S7-1200到S7-1500,慢慢都取消掉了,如果需要,可以通过扩展模块的方式来增加,出现这种现象的原因,其实也是工业发展的必然结果。串口通信的优势在于简单、成本低,但是劣势也非常明显,就是传输效率低。西门子早期的串口通信主要是Profibus DP通信,但是上位机是无法直接与西门子PLC模块走Profibus DP通信的,因此,西门子PLC模块常用的串口通信方案如下所示:
● PPI通信:PPI通信只针对S7-200和S7-200 Smart系列PLC,其他型号不支持。
● ModbusRTU主站:西门子PLC对Modbus协议支持还是比较不错的,这里是指PLC做Slave(即从站),上位机做Master(即主站)。
● ModbusRTU从站:这里是指PLC做Master(即主站),上位机做Slave(即从站)。

西门子PLC模块 以太网通信
西门子PLC模块通信还是以太网通信为主,我们常说的西门子通信协议分别是S7协议和Profinet协议,但是Profinet是一种总线协议,目前,C#是无法直接与西门子PLC模块走Profinet通信的。因此,西门子PLC模块常用的以太网通信方案如下所示:
● S7通信:基本上从S7-200到S7-1500均可以实现,这里有很多可以选择的开源或商业库,包括http://s7.net、pronodave、libnodave、sharp7,也可以自己封装通信库。
● ModbusTCP Server:这里是指PLC做Server(即服务器),上位机做Client(即客户端)。
● ModbusTCP Client:这里是指PLC做Client(即客户端),上位机做Server(即服务器)。
● OpenProtocol Server:这里是指开放式TCP通信,PLC做TCPServer(即服务器),上位机做TCPClient(即客户端)。
● OpenProtocol Client:这里是指PLC做TCPClient(即客户端),上位机做TCPServer(即服务器)。

西门子PLC模块 OPC通信
OPC通信是工业控制中常用的一种通信方式,主要在于OPC软件的选择以及OPCDA、OPCUA的选择,因此,西门子PLC模块常用的OPC通信方案如下所示:
● PC Access系列:西门子针对S7-200开发PC-Access软件,针对S7-200 Smart又提供了PC-Access Smart软件,可以直接通过这些软件实现OPCDA通信。
● Simatic Net 系列OPCDA:Simatic Net是西门子主推的OPC软件,支持西门子全系列,这里主要是OPCDA通信方式。
● Simatic Net 系列OPCUA:新版的Simatic Net也开始支持OPCUA,这里主要是OPCUA通信方式。
● KepServer 系列OPCDA:KepServer同样作为一款商业OPC软件,在国内使用率非常高,同样也支持西门子全系列,这里主要是OPCDA通信方式。
● Simatic Net 系列OPCUA:新版的KepServer也开始支持OPCUA,这里主要是OPCUA通信方式。

西门子PLC模块 S7通信协议
        在以上众多的通信方式和通信协议中,就目前而言,使用S7通信是方便,也是应该广泛的,那么S7协议相对于其他协议来说,有哪些优势呢?
        使用S7通信协议大的优势在于不需要编写PLC程序,而其他协议多少要写一些PLC程序,而且S7协议在底层做了很强的封装,在上位机通信应用中相比其他通信协议来说,也有很大的优势。
        虽然不需要编写PLC程序,但仍然需要做一些简单的配置
● 勾选允许Put/Get
        PLC侧需要设置勾选允许来自远程对象的Put/Get通信访问 对于西门子1200/1500系列,必须要勾选允许Put/Get访问,对于200Smart/300/400,则不需要。
● DB块去除优化访问
        对于基于博图开发S7-1200/1500的项目,如果要与DB块数据通信,需要要去除DB的优化的块访问,对于200Smart/300/400,则不需要。如果希望通过标签通信,可以采用OPCUA。
● 务必保证通信地址是有效地址
        因为PLC大多数是基于存储区的,每个地址肯定是隶属于某个存储区,大家都知道西门子PLC模块自带的存储区有I区、Q区、M区、T区、C区,但是对于常用的DB存储区是没有的,需要自己去创建,也就意味着,如果你要读取DB地址,必须要提前创建好DB存储区,除此以外,DB存储区创建之后,默认是没有字节的,需要自己一个个添加变量,才能形成有效存储区,因此一个DB存储区的范围是有限并且可见的(可以通过偏移量看出来)。
● 调整通信负载
        如果以上操作均没问题,仍然没法连接,可以适当调整一下通信负载参数。

西门子PLC模块 总结
        通过上面一系列的分享,相信大家对西门子PLC模块通信方式有了一定的了解,希望大家可以多多实践。

        每种通信方式都有自己的优缺点,对各种通信方式和协议了解之后,你才能够在不同的场合选择适合的通信方式,给出合理的解决方案。


本文摘自:网络



 

联系热线:18597848426   联系人:曾经理 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 西门子品牌服务商