我运行一个S7-1200 PLC的过程,我需要它来发送一个启动信号到我的python脚本,该脚本运行完需要发送的东西回PLC启动下一阶段之后。 哦,它在阶梯要做。
是否有一个快速和肮脏的方式来送东西通过PROFIBUS还是我最好使用只是一个RS232的事情吗?
我运行一个S7-1200 PLC的过程,我需要它来发送一个启动信号到我的python脚本,该脚本运行完需要发送的东西回PLC启动下一阶段之后。 哦,它在阶梯要做。
是否有一个快速和肮脏的方式来送东西通过PROFIBUS还是我最好使用只是一个RS232的事情吗?
我会去与SNAP7和python-snap7库。 例如如何在这个博客上发现一个树莓派安装: http://simplyautomationized.blogspot.com/2014/12/raspberry-pi-getting-data-from-s7-1200.html
更新:
关于如何设置它的视频演练: https://youtu.be/yJNEsI5KJxs
我会用libnodave在PC端以改变几μm标签或PLC中的DB变量的值。 您可以轻松地做出一个梯级将监视这个标记并执行进一步的行动。 虽然libnodave不支持原生的Python,你可以找到一个Python包装这里 。
与libnodave和OPC失败后,我创建了一个TCON,TSEND和TRECV沟通的事情。 它传输的TCP字节和它的作品。
好吧,“蟒蛇RS232”的快速谷歌打开了一些网站的谈论通过使用RS232做机器人控制pySerial 。 所以,如果你知道如何连接你的部件多达RS232,你可以走这条路。
有一个称为“S7connector”由Rothenbacher有限公司(显然这不是SourceForge上的“s7connector”)商业库。 它是.NET框架,所以可以与IronPython的使用。
它与S7-1200 PLC的工作。 你只需要确保你想从读取/写入DB是不是一个优化的S7-1200风格DB,但S7-300 / 400兼容的一个,你可以创建一个数据库中TIA Portal时设置的选项。 这LIB还允许读写所有I / O端口 - “影子寄存器”(不知道他们是正式名称叫什么),并直接为好,覆盖了前者。
有可用于Python几个Modbus TCP的客户,我已经成功地使用pyModbusTCP。 TIA博途的S7-1200这款IDE有Modbus服务器功能,你可以加载到您的PLC,这将让你直接读写到PLC。
https://support.industry.siemens.com/cs/ww/en/view/83130159
与S7-1200 PLC CPU的沟通疗法最好的办法是与OPC UA或传统的OPC(ommonly称为OPC DA)Libnodave为S7-300和S7-400不是S71200(2.X固件)制成。
如果使用第三方解决方案与S7-1200(或S7-1500)通信必须通过允许投放减少在PLC的安全级别,并得到机制。 PUT和GET是纯粹的邪恶使用。 您打开CPU的每一个进程的内存。 不要再使用它们。 西门子实际上应该阻止此。
这适用于所有固件版本为S7-1200。 西门子推动你使用OPC UA从PLC默认的通讯人。 情理之中的事情,因为OPC UA是行业4.0和IIoT的协议。
编辑:重写一切。 信息被严重过时。 如果您使用的固件2或3 1200,考虑更换或升级。 这些版本不再支持,包括蠕虫的问题。