技术论坛

工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。

作者 主题
侠士

经验值: 1272
发帖数: 259
精华帖: 3
工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-06-25 12:26:15
主程序分别调用1、全自动运行2、手动运行两子程序。
可是在全自动运行子程序中,有手动干预优先要求,干预后在全自动子程序中继续执行下一步。是否可以在手动干扰时调用中断程序,可调用中断要在每一工步有手动干扰要求时调用中断。程序过长。
大侠帮忙,说说更好的方法。
分享是一种快乐
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=348221&b_id=4

至圣

经验值: 23118
发帖数: 10118
精华帖: 120
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-06-25 16:09:38
你把PLC编程当成高级语言编程了啊

手动和自动应该混在一起写。

微信公众号:PLC标准化编程,ZHO6371995
以下网友喜欢您的帖子:

  
版主

经验值: 55064
发帖数: 16437
精华帖: 315
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-06-25 16:14:24
有这样的要求,分开来写程序就有问题了.
Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
奇侠

经验值: 6872
发帖数: 5350
精华帖: 25
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-06-25 22:18:13
程序恐怕要另外细分一两层进行模块化
手自动肯定要混到一起考虑的了
怎么论坛改成这样了??
以下网友喜欢您的帖子:

  
游侠

经验值: 428
发帖数: 370
精华帖: 0
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-06-26 02:10:48
学习了,不过能否详细说明你的意图是什么。
天道酬勤
以下网友喜欢您的帖子:

  
侠士

经验值: 1272
发帖数: 259
精华帖: 3
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-06-26 09:04:32
先谢谢大侠们的指点。
不过我想用主子程序设计,程序会编起来逻辑不太复杂。
1、在有手动干预时,我直接让他跳到手动子程序中。
手动子程序执行完(即手动干预)后
2、再跳到自动运行子程序中
3、在进入自动运行子程序时,必须在主程序中编写条件,实现时进入自动运行子程序。
即进入自动运行子程序的条件。防止有两个工步,或危险工步出现。
正在设计中感谢大侠们的意见。
分享是一种快乐
以下网友喜欢您的帖子:

  
版主

经验值: 55064
发帖数: 16437
精华帖: 315
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-06-26 16:42:05
这是单片机的编程方法,不符合PLC程序扫描的原理,而且有安全隐患存在
Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
游民

经验值: 140
发帖数: 86
精华帖: 0
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-06-27 10:05:19
斑竹说的对,这种编程方法不适合于PLC。PLC还是用步做比较好。
 
以下网友喜欢您的帖子:

  
侠士

经验值: 1272
发帖数: 259
精华帖: 3
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。
精华帖


只看楼主 只看精华 2007-06-27 16:08:33
谢谢斑竹和各位大侠
我编了一下,还是用结构化编程可靠。
用跳转方法逻辑上还是有不严密的地方。比如,在有手动干预后,程序跳转到手动子程序,工程师可以调节需要调节的工步。而调节后再跳入自动子程序前必须编程:能够跳入自动子程序的条件。
这是难点和出隐患点。1、你必须总结出有效的跳入自动子程序的条件即跳入
需要的工布条件。2、你必须找到所有改变后了的中间变量。
经过反复思考:跳转编程的缺陷在于,手动干预优先时你跳入手动子程序但这时你可以改变任意输出。再跳入自动子程序时,有时跳不进去。这是违反了手动干预优先的初衷了。(在工程现场工人按下手动干预后,按工艺一步步操作,可以进入自动运行子程序但工人有一步操作错误就无法跳入自动运行子程序)你必须找到误操作后出现的变量和输出。改变误操作后出现的变量和输出后再跳入自动运行子程序。这很可怕在现场。而手动干预优先的目的是:经过手动调节可以继续自动运行下一步程序。
所以用结构化编程,手动干预时总结干预下一步前所有输出和中间变量的状态。前面的状态不能变的手动干预时,要改变不能变的输出和中间变量操作是无效的。可以实现手动干预后下一步自动运行。
工程正在设计中,感谢大侠们的指正。


分享是一种快乐
以下网友喜欢您的帖子:

  
侠士

经验值: 1512
发帖数: 499
精华帖: 6
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-06-28 10:33:56
像自动功能,手动功能其实最终都是为了驱动现场的执行器(阀,电机),所以PLC程序里最好2个功能混到一起写。另外,安全是最重要的。一般而言手动介入后,不要再能自动切换到自动功能,而是做一个按钮之类的去触发。
You are beautiful It's true
以下网友喜欢您的帖子:

  
侠客

经验值: 871
发帖数: 481
精华帖: 2
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-06-28 17:55:07
这中应用,我一直在用.简单的做法是在自动子程序中,在相应的自动输出参数语句后在将手动输出的中间变量赋予与自动中间值相同的值.在手动子程序中,也将相应的自动的中间变量赋予与手动值相同的值.
这样在手自动切换时就可以保证每个值都没有跳变.即所谓的手自动无扰动切换.
世界是如此之大,网络及论坛却把我们联系的如此紧密,珍惜这个地方吧,用我们的真诚。
以下网友喜欢您的帖子:

  
侠士

经验值: 1272
发帖数: 259
精华帖: 3
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-06-29 12:36:24
是种方法。能够跳回到自动子程序中,不过不能确定是否能在下一步自动子程序中继续执行。只是个人看法,大侠有不同意见可以具体说一说。
分享是一种快乐
以下网友喜欢您的帖子:

  
至圣

经验值: 39965
发帖数: 8432
精华帖: 389
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-06-29 16:02:37
用一个字或双字或多字节字来做为工步的记录缓存区,每个工步完成以后都要改变这个缓存区,且每一工步对应一固定内容。
自动子程序每次调用要先读缓存区中的内容以确定进行到哪个工步了,并跳转到相应的执行程序。
手动子程序则无所谓,可以随时干预,但干预后必须修改缓存区。
这种作法也有一个前提:手动干预必须干预一个完整的工步,否则会出问题。

天生不宜做胜利者,自来没有胜利的欲望,只是不甘失败,十分十分不甘心失败。木心
以下网友喜欢您的帖子:

  
侠士

经验值: 1272
发帖数: 259
精华帖: 3
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-06-29 17:04:59
领教了,高手,学习中。
分享是一种快乐
以下网友喜欢您的帖子:

  
至圣

经验值: 17014
发帖数: 4184
精华帖: 114
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-07-03 15:01:39
象这种问题一般都是应用在机械设备上. 象我们做的设备就完全需要这样的功能! 不过我们的设备点数较少,电磁阀不到二十个,电机也就三四台. 但是要做到非常完善还是需要一定时间的, 主要是因为电磁阀驱动的气缸之间有互锁条件!
比如在自动运行的时候需要人工干预,那么操作工人按下暂停按扭,系统进行手动状态, 这时工人可能将暂停前的各电磁阀状态完全打乱了, 接着完了再按下启动,那么需要系统能自动返回到暂停前各电磁阀的状态,而且需要能自动识别出在返回的过程各互锁条件... ...
做起来挺麻烦,不过做好了对工人操作而言是方便了很多了,毕竟象有些机械设备需要人工干预的情况较多,总不能每次暂停后又得重新再来吧!那样浪费时间又浪费材料的!
I can do it
以下网友喜欢您的帖子:

  
至圣

经验值: 17014
发帖数: 4184
精华帖: 114
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-07-03 15:06:02
quote:以下是引用钢铁机器人在2007-06-28 17:55:07的发言:
这中应用,我一直在用.简单的做法是在自动子程序中,在相应的自动输出参数语句后在将手动输出的中间变量赋予与自动中间值相同的值.在手动子程序中,也将相应的自动的中间变量赋予与手动值相同的值.
这样在手自动切换时就可以保证每个值都没有跳变.即所谓的手自动无扰动切换.


你这样子是非常危险的! 各输出之间可能会有互锁,你这样动作,搞坏机器的可能性很大!
I can do it
以下网友喜欢您的帖子:

  
游侠

经验值: 339
发帖数: 20
精华帖: 0
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-07-04 13:01:31
在自动中每步加有 步骤变量(静态类型),手动时可以停止自动部分的程序,等手动完成后,再把原来的 步骤变量 载入自动部分程序,继续自动的执行。
程序用stl 语言,以列表 和 条件 的格式转跳,每步的程序必须靠步骤号来定位。
功到 自然 成
以下网友喜欢您的帖子:

  
游民

经验值: 99
发帖数: 92
精华帖: 0
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-07-11 15:24:10
楼主的程序构思不错啊
做好了大概说一下程序的框架期待中
期待中国早日拥有自己的品牌芯片
以下网友喜欢您的帖子:

  
奇侠

经验值: 8874
发帖数: 2778
精华帖: 72
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-07-20 15:13:57
其实你完全可以换个思路去考虑这个问题吗!
根据工程经验,你完全可以做一个标志位,用来识别手动和自动,通过标志位的状态来进行手自动的切换就可以了.
不论是什么状态,手动自动只能有一种出现,那这个问题多简单啊.
其实就是我们常说的手动自动切换开关,一个2进制BOOL量完全实现了.

至于无扰切换,做个小子程序,再切换的同时将当时的值复给下一个状态就可以实现这种功能了.

这个现象在PCS7中可以很方便实现!
不以物喜,不以己悲; 达则兼济天下,穷则独善其身。
以下网友喜欢您的帖子:

  
游民

经验值: 59
发帖数: 39
精华帖: 0
回复:工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。


只看楼主 只看精华 2007-07-20 16:55:57
楼上的想的太简单了,这是一个很复杂的问题。
希望楼主完成后,应该进行大量的工程实际检验,估计会出现很多问题有待调试。
我觉得中断跳转的方式,在这里是不适合的。楼主的问题其实就是自动运行受干扰后,如何手动恢复,并能进一步执行,减少停机时间,及残次品数量。
 
以下网友喜欢您的帖子:

  
收起
工程上编程难题:主程序调用全自动运行子程序。全自动运行子程序有手动干预有先问题。
×
扫描打开手机版
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。