试图找出控制工业PLC的最佳方式与Raspberry /linux服务器-特别是使用python和pymodbus (modbusTCP)的以太网.
一旦PLC内部注册表被正确地映射到modbus,用python编写的软件能否取代PLC中的梯形逻辑编程并完全控制它?
或者,是否还需要编写梯形逻辑/本地PLC代码?
发布于 2016-01-23 13:26:10
您不应该用linux服务器替换PLC逻辑。你需要实时操作系统。即使运行实时操作系统,用它来控制PLC也是个坏主意。PLC-s内置各种检查,用于控制输入/输出、程序周期、内部诊断等。它们是专门用于这项任务的工具。IMHO梯形逻辑比实时操作系统更容易学习。
您应该使用您的服务器作为人机界面,它将控制数据发送到PLC并显示给用户。
如果你的项目是为了学习经验或个人项目,那么你当然应该做你想做的任何事情。
发布于 2016-01-23 14:38:29
我不知道你是否能在你正在讨论的特定配置中做到这一点;事实上,你没有说你使用的是哪个PLC,所以我怀疑任何响应者都不能告诉你。
但是在技术上你可以连接零件的假设下,你可能会发现性能不足以真正实现可靠的机械控制。
通常,PLCs以每秒数百次的速度运行它们的程序,每次采样输入和计算新输出。这是足够快,因此机械有效地看到“平滑”的控制。(5赫兹很可能会引起机械颤振和硬件的急促运动)。
如果您“涉及”Python来计算它,那么您就有与PLC和Python之间的总线通信时间、Python唤醒时间、Python执行时间和Python消息打包/解压时间。我怀疑您是否能够以每秒几百次的速度可靠地实现这一切(当OS中断Python将10M的数据写入磁盘以供其他后台进程处理时会发生什么情况)?
如果您坚持在某种程度上涉及Python,那么它应该只扮演顾问的角色。也就是说,所有的工作都是由PLC来完成的(例如,你需要“梯形逻辑/.”)但是Python代码偶尔会向PLC发送消息,以改变其总体行为,例如控制模式、馈送速率等。
发布于 2016-09-30 00:35:32
让我们假设您有非常高效的代码。你创造了一些字典,做了一些兰达。您可以在5ms内遍历2000 IO点的逻辑集。
我每天都在卢阿做这个。PLC硬件以FPGA为基础。但扫描速度永远不要超过10毫秒。使用数据会减慢速度。结果通常是25毫秒的扫描。
正确编程的Python和Lua可以扫描超过2600行代码的1-2毫秒。
你需要一个C包装器来运行扫描。使用TCP modbus设备。每个IP地址不超过32 IO。其实很简单。
那些不知道PLC的人或只知道PLC的人会把你引向错误的方向。做你的功课。学习卢阿。然后证明他们是错的。
希望这能有所帮助。
https://stackoverflow.com/questions/34956823
复制相似问题