
吕梁西门子模块代理商
集成PROFINET接口
SimaticS7-1200的新CPU固件2.0版本支持与作为Profinet IO控制器的Profinet IO设备之间的通信。通过集成的Web服务器,可以通过CPU调用信息,通过标准网络浏览器处理数据,也可以在运行时间从用户程序中对数据进行归档。
利用已建立的TCP/IP标准,SIMATIC S7-1200集成的PROFINET接口可用于编程或者与HMI设备和额外的控制器之间的通信。作为PROFINET IO控制器,SIMATIC S7-1200现在支持与PROFINET IO设备之间的通信。
该接口包含一个具有自动交叉功能的抗噪声的RJ45连接器,它支持以太网网络,其数据传输速率高达10/100 Mbit/s。
与第三方设备之间的通讯
在SIMATIC S7-1200上采用集成PROFINET接口可以实现与其他制造商生产的设备之间的无缝集成。利用所支持的本地开放式以太网协议TCP/IP和TCP上的ISO,可以与多个第三方设备进行连接和通讯。
这种通信能力与集成工程系统SIMATIC STEP 7 Basic支持的标准T-Send/T-Receive说明共同配置,为您在设计您的自动化解决方案中提供更高水平的灵活性。
简易通讯模块
在SIMATIC S7-1200的CPU上多可以增加3个通讯模块。
RS485和RS232通讯模块适用于串行、基于字符的点到点连接。在SIMATIC STEP 7 Basic工程系统内部已经包含了USS驱动器协议以及Modbus RTU主、从协议的库函数
实用指令库
在STEP 7-Micro/WIN Programming Tips(Micro/WIN编程中)的Tip38就是关于如何实现上述转换的例程。
为便于用户使用,现已将其导出成为“自定义指令库",用户可以添加到自己的Micro/WIN编程中应用。
模拟量比例换算指令库和例子
注意:此指令库/程序的作者和拥有者对于该的功能性和兼容性不负任何责任。使用该的风险*由用户自行承担。由于它是免费的,不提供任何,错误纠正和支持,用户不必为此西门子与服务部门。
在这个指令库中,子程序Scale_I_to_R可用来进行模拟量输入到S7-200内部数据的转换;子程序Scale_R_I可用于内部数据到模拟量输出的转换。
编程举例
图2. 编程举例
1、 PLC侧需要设置勾选允许来自远程对象的Put/Get通信访问
对于西门子1200/1500系列,必须要勾选允许Put/Get访问,对于200Smart/300/400,则不需要。
2、对于DB块读写,需要去除DB优化访问
对于基于博图开发S7-1200/1500的项目,如果要与DB块数据通信,需要要去除DB的优化的块访问,对于200Smart/300/400,则不需要。如果希望通过标签通信,可以采用opcUA。
3、务必保证通信地址是有效地址
通信地址是有效地址,这句话该怎么去理解呢?因为PLC大多数是基于存储区的,每个地址肯定是隶属于某个存储区,大家都知道西门子PLC自带的存储区有I区、Q区、M区、T区、C区,对于常用的DB存储区是没有的,需要自己去创建,也就意味着,如果你要读取DB地址,必须要提前创建好DB存储区,除此以外,DB存储区创建之后,默认是没有字节的,需要自己一个个添加变量,才能形成有效存储区,一个DB存储区的范围是有限并且可见的(可以通过偏移量看出来)。举例说明,下图是一个DB存储区,说明这个存储区有86个字节,如果你通信的地址超过这个范围,肯定就会出问题。这点其实也很容易理解,我们把与PLC通信当做从服务器拿东西,如果我们要拿的东西,服务器都没有,那么是不是会出问题呢?
经验分享
下面再给大家分享,如果出问题之后,我们如何快速定位问题,解决问题?
1、我们要Ping一下PLC的IP地址,保证物理网络是正常的,一定要记住Ping通只能证明网络没问题,并不能代表一定可以通信。
2、西门子S7协议是基于TCP的,我们可以用网络调试助手去连接PLC,IP地址填写PLC的IP地址,端口号填写102。
3、用通信测试平台测试变量,记住这里好先测试M存储区,如MD100。
4、如果通信测试平台可以,说明PLC端设置基本上都没问题了,如果这时候配置软件仍然有问题,可以先删除所有的组,只创建一个通信组,并且把存储区选择M存储区。
5、如果上面的单个M存储区可以,一般就是你通信组配置的问题了,可以将所有的通信组的Active激活都取消,逐个开启,定位是哪个或者哪几个通信组的问题,再找原因