往事如风
科技改变制造
级别: 网络英雄

精华主题: 0
发帖数量: 11292 个
工控威望: 18670 点
下载积分: 12423 分
在线时间: 2699(小时)
注册时间: 2013-01-31
最后登录: 2024-12-23
查看往事如风的 主题 / 回贴
12楼  发表于: 2019-01-23 17:38
都可以,编程习惯而已
三人行者必有我师 ,择其善者而从之
wangnaizhi
级别: 论坛先锋
精华主题: 0
发帖数量: 1273 个
工控威望: 1449 点
下载积分: 5484 分
在线时间: 896(小时)
注册时间: 2015-08-31
最后登录: 2024-12-25
查看wangnaizhi的 主题 / 回贴
13楼  发表于: 2019-01-23 17:40
引用
引用第7楼jzdcff于2019-01-23 11:46发表的  :


没怎么看明白,自动时触发该气缸线圈,你的意思是打到手动后把所有气缸的输出记住,手动操作这个气缸后,打到自动后把这个气缸恢复到刚打到手动时的状态?

都可以做的 一般自动状态不需要记住手动状态  报警后需要记住输出状态的 具体看要求了
goldage
级别: 论坛先锋
精华主题: 0
发帖数量: 1796 个
工控威望: 1958 点
下载积分: 7036 分
在线时间: 461(小时)
注册时间: 2016-06-19
最后登录: 2024-12-26
查看goldage的 主题 / 回贴
14楼  发表于: 2019-01-23 21:59
不特定,用着顺手就得
nightblueblu
道阻且长,穷且益坚。
级别: 论坛先锋
精华主题: 0
发帖数量: 1026 个
工控威望: 1849 点
下载积分: 265 分
在线时间: 1130(小时)
注册时间: 2017-02-09
最后登录: 2024-12-27
查看nightblueblu的 主题 / 回贴
15楼  发表于: 2019-01-24 08:44
极少会用第一种,顶多是中间继电器用线圈,输出点全set和rst,不管其他地方,置位复位也不是双线圈,就像3楼说的,会省一些程序
Your happiness is everything.
宿迁电工
级别: 论坛先锋
精华主题: 0
发帖数量: 1086 个
工控威望: 1228 点
下载积分: 2954 分
在线时间: 404(小时)
注册时间: 2018-11-30
最后登录: 2024-12-26
查看宿迁电工的 主题 / 回贴
16楼  发表于: 2019-01-24 10:49
我的习惯是第一种,谈不上什么优缺点,就是习惯了。
我喜欢在程序里加跳转,最简单的就是自动运行的时候,跳过手动运行的部分,在程序步数较多的时候可以节省扫描时间。
对于一些需要计算的的数据,尽量在触摸屏里一次性计算好,然后直接输给PLC,这样的好处就是不占用PLC扫描时间。
长三角地区,PLC编程,工业机器人编程
吸塑机,轴承合套仪程序开发
专业外协
 TEL:13815796487(微信同号)
静夜思飘
级别: 略有小成
精华主题: 0
发帖数量: 130 个
工控威望: 233 点
下载积分: 2500 分
在线时间: 74(小时)
注册时间: 2017-03-09
最后登录: 2022-06-28
查看静夜思飘的 主题 / 回贴
17楼  发表于: 2019-01-24 11:51
其实用哪种方法都无所谓,不过在2的时候,通常置复位的间隔条数不超过20行,而且尽量别多处set,rst同一个点,宁可多写几行。否则调试的时候很难分辨出是通过那些条件置位或复位的。
用1虽然有时候复杂一些,但是好处是调试及后期检修中可以直观的看到这个输出点位是通过什么状态导通或关断的。而且有时候逻辑性在屏幕内直接就可以全部看到。
其实最容易出错的是通过条件进入的子程序内的点输出,条件不成立后的循环,无论是1,2都无法自己断开已经成立的通路。这和软件编程有很大区别,因为俺是自己瞎捣鼓学的PLC,曾在这方面栽过跟头,而且调试时也最容易出问题。俺现在用最笨的办法就是,子程序除了做过程计算用外,直接M8000引用。在子程序内设置条件。
本帖最近评分记录:
  • 下载积分:+3(504890094) 热心助人!
  • 下载积分:+1(kcai_fly) DING!
    cooller115
    坚持就是胜利
    级别: 略有小成
    精华主题: 0
    发帖数量: 256 个
    工控威望: 300 点
    下载积分: 1548 分
    在线时间: 299(小时)
    注册时间: 2007-10-26
    最后登录: 2024-09-06
    查看cooller115的 主题 / 回贴
    18楼  发表于: 2019-01-25 09:34
    看你的描述应该是用的三菱PLC,以下是我的个人建议
    1. 写程序前先构思好结构,多用子程序
    2. 绝对不要输出直接用置位和复位指令,记住,绝对不要这样!很小的项目也不要这样,养成良好的习惯对以后有好处
    本帖最近评分记录:
  • 下载积分:+3(mk自动化) 热心助人!
  • 下载积分:+1(hsl199)
  • 下载积分:+3(1992sd) 好贴好贴!
    lvpretend
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 1264 个
    工控威望: 1434 点
    下载积分: 3697 分
    在线时间: 324(小时)
    注册时间: 2015-07-20
    最后登录: 2024-11-29
    查看lvpretend的 主题 / 回贴
    19楼  发表于: 2019-01-25 12:24
    我喜欢用第二种。
    从继电控制过来的人喜欢第一种,逻辑性很强。从单片机过来的人喜欢第二种,功能非常强大。
    我感觉,两种混合最好,SET/RST做中间变量,汇总到输出,这样排除故障时很清晰。
    本帖最近评分记录:
  • 下载积分:+1(hsl199) 热心助人!
    zw2940707
    级别: 探索解密
    精华主题: 0
    发帖数量: 23 个
    工控威望: 150 点
    下载积分: 551 分
    在线时间: 74(小时)
    注册时间: 2013-05-15
    最后登录: 2023-08-09
    查看zw2940707的 主题 / 回贴
    20楼  发表于: 2019-01-25 13:05
    set rest   一直用到今天  省的合并输出  那么多会漏掉的  麻烦
    zhengf1989
    级别: 略有小成
    精华主题: 0
    发帖数量: 142 个
    工控威望: 273 点
    下载积分: 686 分
    在线时间: 486(小时)
    注册时间: 2012-11-28
    最后登录: 2024-11-11
    查看zhengf1989的 主题 / 回贴
    21楼  发表于: 2019-01-25 21:04
    引用
    引用第17楼静夜思飘于2019-01-24 11:51发表的  :
    其实用哪种方法都无所谓,不过在2的时候,通常置复位的间隔条数不超过20行,而且尽量别多处set,rst同一个点,宁可多写几行。否则调试的时候很难分辨出是通过那些条件置位或复位的。
    用1虽然有时候复杂一些,但是好处是调试及后期检修中可以直观的看到这个输出点位是通过什么状态导通或关断的。而且有时候逻辑性在屏幕内直接就可以全部看到。
    其实最容易出错的是通过条件进入的子程序内的点输出,条件不成立后的循环,无论是1,2都无法自己断开已经成立的通路。这和软件编程有很大区别,因为俺是自己瞎捣鼓学的PLC,曾在这方面栽过跟头,而且调试时也最容易出问题。俺现在用最笨的办法就是,子程序除了做过程计算用外,直接M8000引用。在子程序内设置条件。

    与层主有一样的体会,有条件的调用子程序,跳转程序,主控指令都会容易出现错误,子程序一直调用是可以,就是扫描周期没有缩短,不过现在plc的存储空间都很大,处理速度也很快,不会有什么影响,我这个想法对吗?想和层主交流一下,子程序调用,或者西门子的fb,fc块有条件调用时,怎么写可以避免错误。
    yesterdayom
    级别: 探索解密
    精华主题: 0
    发帖数量: 113 个
    工控威望: 183 点
    下载积分: 4634 分
    在线时间: 66(小时)
    注册时间: 2018-07-16
    最后登录: 2020-03-23
    查看yesterdayom的 主题 / 回贴
    22楼  发表于: 2019-01-26 17:30
    如果要往长远看,建议第一种。简单的机器用第二种问题不大,如果做大型点的,逻辑多的,第二种会绕死你。而且第一种学好的话为以后用结构化做铺垫,比较好。个人建议
    ufo6363
    级别: 家园常客
    精华主题: 0
    发帖数量: 513 个
    工控威望: 561 点
    下载积分: 6559 分
    在线时间: 1384(小时)
    注册时间: 2010-11-21
    最后登录: 2024-12-25
    查看ufo6363的 主题 / 回贴
    23楼  发表于: 2019-01-26 19:17
    做顺序控制时你就知道了,反正我是用第二种。报警保持等等。