查看: 851|回复: 2
收起左侧

[资料分享] 基于状态机的开关量批量控制

邀请回答

马上注册,享受更多特权

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

x
本帖最后由 zhchuaftsc 于 2023-7-25 14:00 编辑

首先声明:本文中的状态机非PacKML中定义的状态机,PacKML中定义了17个状态,本文中只定义了12中状态,为找出其中的差别,特发出供大家批判和建议,不喜勿喷。
image.png
此为状态控制的功能块,其中bPauseSignal为硬件按钮信号,为自锁带灯基座1NC+1NO,其中NC接信号线,NO线控制灯的亮灭。可多个按钮信号串联,哪个灯按下那个灯灯亮,无需程序上控制灯。也无需手自动切换按钮,手动和自动完全互斥,在待机状态下选择“手动模式”可进入手动点动状态,可通过端口直接操作或者信息码方式控制端口。在自动工作状态下,若发生报警,可按下“暂停按钮”,机器进入到“自动暂停状态”,也可对端口直接操作或信息码方式控制端口。在全局标签中建立一个GZT:ST_State的结构体接收此功能块的wEnable、wStateCode、wStateBit信息,此标签GZT供整个控制系统使用。三色警示灯关联机器状态自动生成。其中状态的转换见下图:
image.png
根据机器状态,建立开关量的通用控制功能块、涵盖端口控制、自动逻辑、半自动逻辑、使能控制、报警检测、状态转换等信息,所有的初始化根据机器状态自动初始化,为方便后期调用,将多个功能块合并为一个功能块,命名为FB_SixInone,功能块见下图:
image.png
其中cpFZT为机器状态,来自于上述的GZT,wActionCheckCode为信息校验码和开关量关闭位检测信号超时报警的数报警,打开位检测信号超时报警的数报警在此基础上自动加1000;wStationCheckCode为工位测试的ID号,没有半自动测试,此端口可不填,若有,请根据实际项目合理的规划此ID号码;
cpDIConfig为开关量打开位/关闭位的硬件检测信号配置或靠时间触发的信号配置信息。
cpYqIn为端口输入配置的各种条件,大多只需配置成False或True即可,具体根据工艺合理配置。
cpAutoIn为自动控制逻辑,其中主要配置bRstToNext、cpCondition.Open、cpCondition.Shut即可,主要的工作就在于配置此端口;
cpSemiIn为半自动控制逻辑,需要配合wStationCheckCode使用,主要配置同上,若无工位测试,此端口可不配置。
cpYqOut主要包含wInforCode信息码、wErrorCode检测报警码、wLogicCode逻辑报警码、wStationID当前工位ID号信息,给wInforCode赋值即可控制不同的开关量,且wInforCode仅保留一个扫描周期后就清零。
bTargetPort为目标端口,在“手动点动状态”或“自动暂停状态”下可直接操作此端口,完成点动动作。
cpMout为逻辑相关信息,为自动生成,此信息可供第三方的cpAutoIn或cpSemiIn的相关端口做逻辑输入条件。
cpALmOut为端口检测报警或逻辑报警的位报警信号;
wMcode中包含逻辑信息、报警信息、硬件信息、汇总信息,其中wMcode中的位信息也可供第三方的cpAutoIn或cpSemiIn的相关端口做逻辑输入条件。
此功能块信息来源主要见下图:
image.png
因每一个开关量都可套用FB_SixInone,因此可根据项目工艺将多个不等的开关量组合成一个工位,具体可见【   】开关量逻辑控制for循环批量处理 - 中型PLC - 汇川技术官网-水滴社区 - Powered by Discuz! (inovance.com)
由此,所有的开关量控制可以通过for循环不断地扫描FB_SixInOne这个功能块,达到实现控制的目的。
因逻辑控制是配置配置bRstToNext、cpCondition.Open、cpCondition.Shut这些端口,因此无需写任何流程,达到条件就执行相关逻辑。
因目前在机器状态上只有12个状态,与PacKML相差5个状态,因此对于缺少的状态不知所使用的场景。若后期需要增添相应的状态,需要在逻辑控制中增添相应的逻辑。具体缺少的状态及其使用场景,欢迎各位大神给于补充和说明,谢谢。




点评

感谢分享  发表于 2023-8-3 20:26




上一篇:强烈建议社区新增投诉功能
下一篇:三菱st编程ppt

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

瞬间AK 2023-7-27 17:00:22 | 显示全部楼层
很好的资料,感谢楼主分享
回复 送花

使用道具 举报

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

本版积分规则

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

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

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

4000-300124

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

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

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