python软件能否通过modbus代替PLC中的逻辑梯形图程序?

2024-04-29 10:50:57 发布

您现在位置:Python中文网/ 问答频道 /正文

试图找出用Raspberry Pi/linux服务器控制工业PLC的最佳方法-特别是在以太网上使用python和pymodbus(modbusTCP)。。。

一旦PLC内部注册表正确映射到modbus,用python编写的软件能否取代PLC中的梯形逻辑编程,并对其进行完全控制?

还是仍然需要编写梯形图逻辑/本地PLC代码?


Tags: 方法服务器软件注册表linux编程pi逻辑
3条回答

我不知道你是否能在你正在讨论的具体配置中做到这一点;事实上,你没有说你正在使用哪个PLC,所以我怀疑任何响应者能告诉你。

但是在假设您可以从技术上连接这些部件的情况下,您可能会发现性能不足以真正执行可靠的机械控制。

通常,可编程逻辑控制器每秒运行数百次程序,每次采样输入并计算新输出。这足够快,所以机械师可以有效地看到“平滑”控制。(5赫兹可能会引起机械颤振和硬件的剧烈运动)。

如果您“涉及”Python来计算这个值,那么不知何故您有到/从PLC到Python的付费总线通信时间、Python唤醒时间、Python执行时间和Python消息打包/解包时间。我怀疑您能否以每秒几百次的速度可靠地实现所有这些(当操作系统中断Python以将1000万数据写入磁盘以进行其他后台进程时会发生什么情况)?

如果您坚持以某种方式让Python参与进来,那么它应该只扮演顾问的角色。也就是说,可编程逻辑控制器完成所有工作(例如,您需要编写“梯形图逻辑/…”),但Python代码偶尔向可编程逻辑控制器发送消息以更改其整体行为,例如控制模式、进给速度等

不应该用linux服务器替换PLC逻辑。你需要实时操作系统。即使运行实时操作系统和用它控制PLC也是个坏主意。PLC-s具有各种内置的检查功能,用于控制输入/输出、程序周期、内部诊断等。它们是专门为这项任务准备的工具。IMHO梯形逻辑比实时操作系统更容易学习。

你应该使用你的服务器作为人机界面,将控制数据发送到PLC并显示给用户。

如果你的项目是为了学习经验或个人项目,那么你当然应该做你想做的任何事情。

好吧,假设你有非常有效的代码。你还编了一些字典,做了一些lambda。您可以在5毫秒内循环通过2000个IO点的逻辑集

我每天在卢阿做这个。PLC硬件是基于FPGA的。但千万不要扫描超过10毫秒。使用数据会减慢扫描速度。通常扫描25毫秒。

正确编程的Python和Lua能够以1-2ms的速度扫描2600行代码。

你需要一个C包装器来运行扫描。使用TCP modbus设备。每个IP地址不超过32 IO。其实很简单。

那些不知道或只知道可编程逻辑控制器的人会把你引向错误的方向。做你的家庭作业。学习Lua。然后证明他们错了。

希望能有所帮助。

相关问题 更多 >