返回工控网首页
|
| 添加到收藏夹
中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册
广告服务
|
客服中心
您现在所在的是:
西门子SIEMENS
工控论坛首页
→
西门子SIEMENS
→ 浏览主题:
200smart子程序问题
回帖:
13
个,阅读:
4091
次
[上一页]
[1]
[2]
[下一页]
* 帖子主题:
200smart子程序问题
收藏
分享到
2272
刘国辉
文章数:
258
年度积分:
59
历史总积分:
2272
作者的所有帖子(258)
注册时间:
2008/12/28
发站内信
发表于:2020/9/7 14:49:02
#0楼
各位高手,为什么子程序内有输出,调用子程序之后,输出为0呢?调用子程序的程序本身也是子程序,被Main调用。
感觉西门子的子程序使用起来约束很多,总是出现奇怪的逻辑现象,谁有关于子程序使用的注意事项的文件,或者视频学习资料。
这个程序的Main就是调用各种子程序,基本结构是:Main 调用 自动子程序,自动子程序 调用 动作程序 ,其余的以此类推(手动和报警功能块都是一样)。有啥要注意的吗?
【方案】
施耐德电气PowerStruxure制造业工厂应用方案
只看该作者
|
赞
[0]
|
踩
[0]
|
引用
|
回复
|
编辑
|
推荐
|
举报
|
结帖
|
管理
266
康养科
文章数:
80
年度积分:
266
历史总积分:
266
作者的所有帖子(80)
注册时间:
2019/6/19
发站内信
发表于:2020/9/7 14:54:21
#1楼
调用以后才能条件执行,既然执行了,输出为零有问题吗?为何肯定输出一定是1?
【方案】
炼钢厂钢包耐火材料监测
只看该作者
|
赞
[0]
|
踩
[0]
|
引用
|
回复
|
编辑
|
推荐
|
举报
|
管理
2272
刘国辉
文章数:
258
年度积分:
59
历史总积分:
2272
作者的所有帖子(258)
注册时间:
2008/12/28
发站内信
发表于:2020/9/7 15:27:53
#2楼
回复 #1楼 康养科
当然有问题了,第二张图片显示电机已经有输出了,为何调用的子程序块中的输出却为0,还有子程序内的自加1一直在清零,根本加不上去,搞不清楚咋回事啊
[此贴子已经被作者于2020/9/7 15:29:35编辑过]
【方案】
如何精准定位屋面防水渗漏点?选对工具很重要
只看该作者
|
赞
[0]
|
踩
[0]
|
引用
|
回复
|
编辑
|
推荐
|
举报
|
管理
20901
bnnyygy
文章数:
5988
年度积分:
1567
历史总积分:
20901
作者的所有帖子(5988)
注册时间:
2012/3/15
发站内信
2018论坛分享达人
发表于:2020/9/7 15:55:36
#3楼
子程序多次调用不要用定时器,上升沿。
建议都用IN_OUT变量,把变量换成IN_OUT试试,估计就OK了。
http://bbs.gkong.com/archive.aspx?id=480716
我之前遇到的问题,子程序也没有多次调用,逻辑异常,换成IN_OUT就好了。
200 SMART的子程序感觉就是各种限制太多,上升沿+定时器都不能用,很蛋疼。
用欧姆龙的多,CJ CP 做的功能块感觉各种没限制还好。
[此贴子已经被作者于2020/9/7 15:59:27编辑过]
【方案】
施耐德Quantum PLC与西门子S7300通讯
只看该作者
|
赞
[0]
|
踩
[0]
|
引用
|
回复
|
编辑
|
推荐
|
举报
|
管理
266
康养科
文章数:
80
年度积分:
266
历史总积分:
266
作者的所有帖子(80)
注册时间:
2019/6/19
发站内信
发表于:2020/9/7 17:42:17
#4楼
我原以为仅仅是一般程序,只不过放在子程序中而已,因为这就是西门子程序的特色,没什么。其实,你的问题是带参数的子程序编程和调用,这个肯定要注意变量的设置了,正如楼上所言,许多变量要改为IN_OUT才能运行正常。确实如此!
【方案】
图尔克容器检查
只看该作者
|
赞
[0]
|
踩
[0]
|
引用
|
回复
|
编辑
|
推荐
|
举报
|
管理
22922
产品体验中心会员
gk_0
版主
文章数:
7735
年度积分:
703
历史总积分:
22922
作者的所有帖子(7735)
注册时间:
2013/9/9
发站内信
2018论坛贡献奖
2017论坛贡献奖
2017国庆活动(二)
2016论坛贡献奖
2016国庆活动(三)
英威腾变频器(一)
S7-200 SMART(一)
寻找英威腾(三)
英威腾PLC体验(一)
2015春节活动
2013辞旧迎新
2013辞旧迎新
2013国庆活动
发表于:2020/9/7 19:52:02
#5楼
你确定不是双线圈输出了?
[此贴子已经被作者于2020/9/7 19:55:02编辑过]
不被人嘲笑的梦想,就不值得去追求!
【方案】
TwinCAT 25 周年 | TwinCAT 灵活满足多样化的行业需求
只看该作者
|
赞
[2]
|
踩
[0]
|
引用
|
回复
|
编辑
|
推荐
|
举报
|
管理
2272
刘国辉
文章数:
258
年度积分:
59
历史总积分:
2272
作者的所有帖子(258)
注册时间:
2008/12/28
发站内信
发表于:2020/9/8 8:34:40
#6楼
回复 #5楼 gk_0
这乃是正解呀!确实是因为重复输出造成的。不过还有个问题,在不同的子程序中,我在IN\IN/OUT\OUT\TEMP中定义的局部变量名称如果一样,会出现混乱吗?还有在子程序中写自加1的指令,然后通过外部的脉冲触发其计数,为啥脉冲一过来,自加1指令数据一下子能涨好多。
【方案】
智能电网建设:华北工控创新电网智能化运维·管理嵌入式产品方案
只看该作者
|
赞
[0]
|
踩
[0]
|
引用
|
回复
|
编辑
|
推荐
|
举报
|
管理
7968
蜀中之首
文章数:
5230
年度积分:
50
历史总积分:
7968
作者的所有帖子(5230)
注册时间:
2018/5/27
发站内信
发表于:2020/9/8 8:49:39
#7楼
如果这输出在不同的地方被使用,那就要看执行它的时机,你在这个子程序置1,离开子程序,其他地方又置0,最后就以0体现。
后来的问题,自加一?没有条件吗?后来的脉冲触发就是条件,脉冲快计的就快很正常的。
【方案】
基于 PC 的控制系统:可满足所有风电行业需求的完整系统
只看该作者
|
赞
[0]
|
踩
[0]
|
引用
|
回复
|
编辑
|
推荐
|
举报
|
管理
2272
刘国辉
文章数:
258
年度积分:
59
历史总积分:
2272
作者的所有帖子(258)
注册时间:
2008/12/28
发站内信
发表于:2020/9/8 10:17:14
#8楼
回复 #7楼 蜀中之首
自加1前面有条件的,而且自加1脉冲是1S时间脉冲的上升沿。这个自加1指令感觉很奇怪,有时候会强制性的清零,可我子程序里没有指令将其清零。有时候又快速的往上加,真是搞不懂子程序里面要怎么做才能正常。
【方案】
华北工控BIS-6680M,可赋能智能安检设备更高效可靠运行
只看该作者
|
赞
[0]
|
踩
[0]
|
引用
|
回复
|
编辑
|
推荐
|
举报
|
管理
22922
产品体验中心会员
gk_0
版主
文章数:
7735
年度积分:
703
历史总积分:
22922
作者的所有帖子(7735)
注册时间:
2013/9/9
发站内信
2018论坛贡献奖
2017论坛贡献奖
2017国庆活动(二)
2016论坛贡献奖
2016国庆活动(三)
英威腾变频器(一)
S7-200 SMART(一)
寻找英威腾(三)
英威腾PLC体验(一)
2015春节活动
2013辞旧迎新
2013辞旧迎新
2013国庆活动
发表于:2020/9/8 11:27:54
#9楼
回复 #6楼 刘国辉
脉冲需写在子程序里
不被人嘲笑的梦想,就不值得去追求!
【方案】
ABB ADO System® - 引领铁路机车的新趋势
只看该作者
|
赞
[0]
|
踩
[0]
|
引用
|
回复
|
编辑
|
推荐
|
举报
|
管理
工控学堂推荐视频:
PLC学习视频
变频器学习视频
西门子学习视频
三菱学习视频
更多学习视频>>
•
[视频课程]零基础快速入门西门子S7-1500PLC
•
[视频课程]西门子PLC博途应用精选
•
[视频课程]西门子S7-1200编程应用入门
•
[视频课程]西门子S7-1500PLC与博途应用-基础课程
•
[视频课程]西门子变频器参数设置和实操训练
•
[视频课程]5节课掌握西门子PLC模拟量应用
•
[视频课程]7节课带你玩转西门子LOGO!智能逻辑控制器
•
[视频课程]西门子小型PLC学习指导课
•
[视频课程]西门子PLC入门指导
62.4004