菜鸟0001
级别: 探索解密
精华主题: 0
发帖数量: 28 个
工控威望: 108 点
下载积分: 384 分
在线时间: 60(小时)
注册时间: 2023-09-05
最后登录: 2025-09-11
查看菜鸟0001的 主题 / 回贴
楼主  发表于: 5天前
一台设备,当一个plc脉冲口不够用,采用两个PLC通讯控制方案,我倾向主站写主流程+子流程,从站只写子流程通过主站调用子站程序块,从站跟主站共用一套流程控制,就是从站读取主站运动状态,但是看有些人写的从站只写脉冲轴指令,主站通过M点通讯映射控制从站轴,从站仅作为发脉冲的,这样省事但是靠谱吗
金蛇郎君czz
车到山前必有路 czz674613079@163.com
级别: 网络英雄
精华主题: 0
发帖数量: 2006 个
工控威望: 7866 点
下载积分: 10 分
在线时间: 464(小时)
注册时间: 2019-05-22
最后登录: 2025-09-08
查看金蛇郎君czz的 主题 / 回贴
1楼  发表于: 4天前
必须靠谱
czz674613079@163.com
gengjie
级别: 正式会员
精华主题: 0
发帖数量: 20 个
工控威望: 64 点
下载积分: 578 分
在线时间: 1(小时)
注册时间: 2025-06-24
最后登录: 2025-09-11
查看gengjie的 主题 / 回贴
2楼  发表于: 4天前
你只要把从站看做成主站的扩展IO点就好理解了。原理一样,只是走的通讯而已。
工控菜鸟
菜鸟一只
级别: 论坛先锋
精华主题: 0
发帖数量: 995 个
工控威望: 1174 点
下载积分: 13924 分
在线时间: 314(小时)
注册时间: 2017-04-12
最后登录: 2025-09-11
查看工控菜鸟的 主题 / 回贴
3楼  发表于: 4天前
主站运算,从站只写运动指令,后面调试修改你就知道这样效率最高了
gxtmdb82164
级别: 论坛先锋
精华主题: 0
发帖数量: 847 个
工控威望: 1226 点
下载积分: 622 分
在线时间: 682(小时)
注册时间: 2019-09-22
最后登录: 2025-09-11
查看gxtmdb82164的 主题 / 回贴
4楼  发表于: 前天
如果有良好的封装的情况下,通过共享内存做交互,甚至可以做到在主站连运动指令(经过封装的)都保持一致。
在真正的业务逻辑上,甚至都感觉不到这个脉冲是在主站发还是在从站发。

简单来说,rAbsMoveTo(轴号,位置,速度)

前面这个轴号,随便写,约定好哪个轴在主站,哪个轴在从站就完事了,中间层调用PLC指令也几乎是一模一样的,只不过从站的交互变量要从通信过一遍。
gxtmdb82164
级别: 论坛先锋
精华主题: 0
发帖数量: 847 个
工控威望: 1226 点
下载积分: 622 分
在线时间: 682(小时)
注册时间: 2019-09-22
最后登录: 2025-09-11
查看gxtmdb82164的 主题 / 回贴
5楼  发表于: 前天
当然,方法不是唯一的,如果是比较大型的复杂设备,从业务上进行解耦,直接把一些机构独立出来放在从PLC上也是可以的,而且可以保证除了脉冲以外的包括IO在内的资源使用起来更方便(毕竟少了一层通信),单纯的发脉冲,还是上面的方法更好。

还是举例:比如说你设备上有个比较复杂的上料机构,桁架结构的,PLC自己发脉冲去跑位置,而整个上料机构和主业务流程真正要交互的东西实际上非常少,无非是取料申请、取料到位、报警(参数设置是独立的,单独的上料机构参数设置),这种情况下,就非常适合把整个取料机构的程序写到从PLC里面去。

实际上这样的程序我也写过的,封装完了以后,在主程序里面就是out(xx机构.do) wait(xx机构.done)