查看: 1191|回复: 15
收起左侧

[资料分享] 开关量逻辑控制for循环批量处理

邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
本帖最后由 zhchuaftsc 于 2023-7-20 08:25 编辑

1.png
首先先建立一个机器状态控制的功能块,内含机器状态切换控制、三色灯关联机器状态,一个控制系统系统仅且调用一次机器状态控制功能块。
2.png
开关量端口输出功能块,主要处理不同机器状态下的端口和逻辑之间的联系。
其中手动点动或自动暂停状态下,可以通过端口直接操作或通讯形式对端口操作,其他任何状态只能通过逻辑对端口进行驱动。
3.png
将所有开关量当做两位五通电磁阀控制的气缸来看待,对其检测信号进行超时未接通进行报警,也对在解除自动暂停状态后对其逻辑和端口不一致也进行报警。
对三位五通电磁阀可以拆分成两个两位五通电磁阀控制信号。
对未有相关检测信号的机构,对其原位或到位信号,直接配置成True,对有检测信号的,对其端口外部配置成相关的信号即可。
4.png
对开关量所有逻辑的处理,可以当做一个切换的控制,把0当做没有任何逻辑,1为逻辑打开,驱动端口,2为逻辑关闭,0-2之间的变化为单方向环形变化,因此所有的开关量逻辑变化就是一直在012012012……不停地做循环。
5.png
将逻辑信号和检测信号关联起来,形成逻辑结果信号,方便第三方工位使用其逻辑状态或逻辑结果信号。
6.png
为方便程序调用,将初始化、端口控制、逻辑控制、检测报警、逻辑状态转换等程序进行二次封装,形成一个新的功能块,方便后期调用。
7.png
对项目中的开关量进行合理划分成不同的工位,可以把数量不等的开关量输出划分在同一个工位下,对此工位进行建立功能块
在功能块内部,对FB_SixInOne进行实例化成数组,数组大小与开关量输出个数一致,并将其命名为QG。
对功能块内部逻辑处理,主要的工作量在FAutoIn端口的处理,即逻辑的处理。
而FAutoIn端口只需要处理好bOpenCondition、bShutCondition、bRstToNext这三个管脚即可。
如此,一个开关量的控制,只需要配置好FAutoIn端口的三个管脚即可,因为整个程序相当于配置型程序架构。
8.png
每建立一个工位功能块,需建立对应的工位的结构体,然后对结构体和功能块进行实例化。
实例化之后在外部通过for循环配置其检测信号和开关量的输出信号。
因篇幅有限,这里只能简介的讲解其运用方法,实际项目当中此方法使用熟练,变成效率会得到很高的提升。
本方法是为告别流程步的传统写法而新开发的另类配置型的写法。
缺点:因每个扫描周期,都会对所有的执行机构进行扫描,判断其bOpenCondition、bShutCondition、bRstToNext的条件,因此会增加扫描周期。
          因架构大量使用结构体,程序中的使用需大量使用for+case,因此使用者必须得熟练懂得ST语言。
优点:只要满足相关条件,相关机构就会执行,因此可加快执行效率。
          每一个开关量都是根据自身的条件,配置bOpenCondition、bShutCondition、bRstToNext端口,因此具有通用型,易上手。
          程序修改也只是对相应的执行机构的bOpenCondition、bShutCondition、bRstToNext端口进行修改即可。
衍生:弄懂开关量逻辑控制批量处理,即可实现模拟量输入批量处理,也可实现单轴控制批量处理,实现面向类对象编程的突破。
9.png
自研发PLC开关量、模拟量、单轴控制通用模版,已实现for循环控制,适用支持IEC61131-3国际标准PLC编程语言的任意品牌控制器……已通过千万价位级设备验证。

点评

感谢分享  发表于 2023-7-25 08:14
要是有程序就更好了  发表于 2023-7-19 17:45
值得仔细研究下  发表于 2023-7-19 11:47
感谢分享  发表于 2023-7-18 14:35
详细***,感谢分享  发表于 2023-7-18 10:12

评分

参与人数 1水滴 +6 收起 理由
狂暴烤猪蹄 + 6

查看全部评分





上一篇:PWM指令不能用
下一篇:easy523 ethercat通讯

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

youhun1hao 2023-7-18 10:43:13 | 显示全部楼层
感谢分享,都是经验之谈
回复 送花

使用道具 举报

等风 2023-7-18 17:22:14 | 显示全部楼层
哦哦、楼主这是借鉴了sicar啊!可以可以
回复 送花

使用道具 举报

AUS 2023-7-18 20:20:51 | 显示全部楼层
分享一下呗,这么好的东西

点评

这是面向类对象编程,越过面向对象编程。代码公布,我觉得我都会失业了。  发表于 2023-7-20 09:48
回复 送花

使用道具 举报

zcmzz0511 2023-7-18 23:23:47 来自手机 | 显示全部楼层
值得仔细研究下,先收藏下
回复 送花

使用道具 举报

zhchuaftsc 2023-7-19 09:45:09 | 显示全部楼层
等风 发表于 2023-7-18 17:22
哦哦、楼主这是借鉴了sicar啊!可以可以

在抖音叶强说过sicar之前,我并不知道sicar是什么。这是我自己根据自己的工作经验总结写出来的。总的来说属于面向类对象编程,而PLC三大量、开关量、模拟量、轴控制,所以我就编出了三大量的通用程序架构。
回复 送花

使用道具 举报

54464 2023-7-19 10:02:16 | 显示全部楼层
内容详细,感谢分享
回复 送花

使用道具 举报

zjw424260912 2023-7-20 06:56:25 | 显示全部楼层
给楼主点个大大的赞

点评

面向类对象编程,抛砖引玉罢了。  发表于 2023-7-21 13:00
回复 送花

使用道具 举报

瞬间AK 2023-7-21 16:13:46

厉害了,谢谢分享。
送花

狂暴烤猪蹄 2023-7-29 11:30:37 | 显示全部楼层
听不懂,但是肯定很牛
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部