• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
刺猬果果
级别: 探索解密
精华主题: 0
发帖数量: 84 个
工控威望: 162 点
下载积分: 2834 分
在线时间: 76(小时)
注册时间: 2022-04-18
最后登录: 2024-11-19
查看刺猬果果的 主题 / 回贴
楼主  发表于: 2024-05-09 23:23
最近在做气缸FB块,需要实现任意状态下手动点动过就要报警手动中自动不能启动,除非回到自动运行的状态,



  
第一个做出来了效果,就是过于繁琐,需要操作的变量太多了,准备优化下,
目前进度在第二张简化了很多,准备在三种状态下保存需要对比的记忆,自动,初始化,上电,实在想不到比较全的办法了;
诚心请教一下各位有什么思路吗
望穿秋水月
级别: 略有小成
精华主题: 0
发帖数量: 144 个
工控威望: 297 点
下载积分: 335 分
在线时间: 205(小时)
注册时间: 2022-03-07
最后登录: 2024-11-08
查看望穿秋水月的 主题 / 回贴
1楼  发表于: 2024-05-10 08:58
刺猬果果
级别: 探索解密
精华主题: 0
发帖数量: 84 个
工控威望: 162 点
下载积分: 2834 分
在线时间: 76(小时)
注册时间: 2022-04-18
最后登录: 2024-11-19
查看刺猬果果的 主题 / 回贴
2楼  发表于: 2024-05-10 11:11
引用
引用第1楼望穿秋水月于2024-05-10 08:58发表的  :
B站的,手自动切换时的处理,梯形图写的。https://www.bilibili.com/video/BV1yr4217749/?spm_id_from=333.999.list.card_archive.click

谢谢,这个参考过,但是这个程序在气缸自动伸出切换到手动控制缩回后是不会报警的
编程的灰松鼠
级别: 正式会员
精华主题: 0
发帖数量: 75 个
工控威望: 90 点
下载积分: 638 分
在线时间: 25(小时)
注册时间: 2024-04-28
最后登录: 2024-09-29
查看编程的灰松鼠的 主题 / 回贴
3楼  发表于: 2024-05-10 13:25
其实气缸标准块代码不少的,复杂是正常的。
手动操作过,就置一个位,可以设置为块的In_Out类型,气缸被手动操作过就置这个位,然后外层的程序当需要自动的时候,这个位就可以要求设备必须完成初始化才能后续
编程的灰松鼠
级别: 正式会员
精华主题: 0
发帖数量: 75 个
工控威望: 90 点
下载积分: 638 分
在线时间: 25(小时)
注册时间: 2024-04-28
最后登录: 2024-09-29
查看编程的灰松鼠的 主题 / 回贴
4楼  发表于: 2024-05-10 13:30
外层程序在开始初始化时复位这个手动操作过的记忆位
刺猬果果
级别: 探索解密
精华主题: 0
发帖数量: 84 个
工控威望: 162 点
下载积分: 2834 分
在线时间: 76(小时)
注册时间: 2022-04-18
最后登录: 2024-11-19
查看刺猬果果的 主题 / 回贴
5楼  发表于: 2024-05-10 14:38
引用
引用第3楼编程的灰松鼠于2024-05-10 13:25发表的  :
其实气缸标准块代码不少的,复杂是正常的。
手动操作过,就置一个位,可以设置为块的In_Out类型,气缸被手动操作过就置这个位,然后外层的程序当需要自动的时候,这个位就可以要求设备必须完成初始化才能后续

我现在就是传入一个结构体变量,自动手动都是操作同一个变量控制气缸,这样需要急停也可以在外部直接控制变量;
状态记忆在自动模式未发生手动报错情况下一直保存气缸的状态,初始化过程中启动保存气缸状态
刺猬果果
级别: 探索解密
精华主题: 0
发帖数量: 84 个
工控威望: 162 点
下载积分: 2834 分
在线时间: 76(小时)
注册时间: 2022-04-18
最后登录: 2024-11-19
查看刺猬果果的 主题 / 回贴
6楼  发表于: 2024-05-10 14:43


再优化了一下,
自动为出现手动中就一直保存气缸状态;
初始化过程中标志位给cyl.i_Memory 赋值使能状态记忆;
望穿秋水月
级别: 略有小成
精华主题: 0
发帖数量: 144 个
工控威望: 297 点
下载积分: 335 分
在线时间: 205(小时)
注册时间: 2022-03-07
最后登录: 2024-11-08
查看望穿秋水月的 主题 / 回贴
7楼  发表于: 2024-05-10 15:19
会报警的,自动时的状态,和手动操作后的状态一致的话不会报警,气缸自动时是伸出,手动操作后也是伸出,不会报警,手动时是缩回,才会报警。
引用
引用第2楼cdgong于2024-05-10 11:11发表的  :

谢谢,这个参考过,但是这个程序在气缸自动伸出切换到手动控制缩回后是不会报警的
编程的灰松鼠
级别: 正式会员
精华主题: 0
发帖数量: 75 个
工控威望: 90 点
下载积分: 638 分
在线时间: 25(小时)
注册时间: 2024-04-28
最后登录: 2024-09-29
查看编程的灰松鼠的 主题 / 回贴
8楼  发表于: 2024-05-10 18:11
引用
引用第7楼望穿秋水月于2024-05-10 15:19发表的  :
会报警的,自动时的状态,和手动操作后的状态一致的话不会报警,气缸自动时是伸出,手动操作后也是伸出,不会报警,手动时是缩回,才会报警。

这样做不好,可以被人手动操作一下,把本该判废的零件放出去了。严格来说,手动操作过,设备复位,按找工件记忆恢复流程,如果工件状态根据记忆和传感器状况OK,就流转到该工艺步继续,如果零件有无法继续风险,直接走报废流程
编程的灰松鼠
级别: 正式会员
精华主题: 0
发帖数量: 75 个
工控威望: 90 点
下载积分: 638 分
在线时间: 25(小时)
注册时间: 2024-04-28
最后登录: 2024-09-29
查看编程的灰松鼠的 主题 / 回贴
9楼  发表于: 2024-05-10 18:18
引用
引用第5楼cdgong于2024-05-10 14:38发表的  :

我现在就是传入一个结构体变量,自动手动都是操作同一个变量控制气缸,这样需要急停也可以在外部直接控制变量;
状态记忆在自动模式未发生手动报错情况下一直保存气缸的状态,初始化过程中启动保存气缸状态


不好意思,你写的ST语言,实在耐不下心来看。
气缸块自己开发过几次,也读过其他大公司开发的块,目前还没碰到过完全满意的。 后来自己开发的气缸块,只能用来适用主控程序和触摸屏上做faceplate, 就是触摸屏标准快

想要做一个完美的块,同时考虑断电保持,光栅切入暂停,和安全联动,自动手动联锁,暂时没还没见到过,就是哪些50+年龄的老自动化公司也没有那么完美的,所以每次都在一个基础上根据项目的阀的使用方法和安全相关逻辑的修改成一个适用块
刺猬果果
级别: 探索解密
精华主题: 0
发帖数量: 84 个
工控威望: 162 点
下载积分: 2834 分
在线时间: 76(小时)
注册时间: 2022-04-18
最后登录: 2024-11-19
查看刺猬果果的 主题 / 回贴
10楼  发表于: 2024-05-10 19:36
引用
引用第7楼望穿秋水月于2024-05-10 15:19发表的  :
会报警的,自动时的状态,和手动操作后的状态一致的话不会报警,气缸自动时是伸出,手动操作后也是伸出,不会报警,手动时是缩回,才会报警。

我看只在手动下气缸进才置位了M408,退回就会复位,只有一个标志位实现不了两种状态检测啊
刺猬果果
级别: 探索解密
精华主题: 0
发帖数量: 84 个
工控威望: 162 点
下载积分: 2834 分
在线时间: 76(小时)
注册时间: 2022-04-18
最后登录: 2024-11-19
查看刺猬果果的 主题 / 回贴
11楼  发表于: 2024-05-10 19:41
引用
引用第9楼编程的灰松鼠于2024-05-10 18:18发表的  :


不好意思,你写的ST语言,实在耐不下心来看。
气缸块自己开发过几次,也读过其他大公司开发的块,目前还没碰到过完全满意的。 后来自己开发的气缸块,只能用来适用主控程序和触摸屏上做faceplate, 就是触摸屏标准快

.......

我比较喜欢功能块只做报警,操作气缸单独用一个函数或者单独操作映射输出的点位,这样遇到光栅阻断断气退出再恢复气缸这些就好处理多了
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go