您现在所在的是:

PLC论坛

回帖:7个,阅读:2247 [上一页] [1] [下一页]
1003
jiji19840215
文章数:19
年度积分:50
历史总积分:1003
注册时间:2007/6/20
发站内信
发表于:2007/10/12 2:07:00
#0楼
因为以前一直在使用s7-200写一些简单的程序,现在学S7-300遇到一些困难,请大侠们赐教.
一.我用OB1调用两次FB1,利用不同的DB(DB1,DB2)来实现功能类似,但是端口不同的输入输出控制的,在用一个FB1生成两个背景DB(DB1,DB2)后,有几个问题:
1.请问我用的FB1里面设置的一些中间变量M0.0,M0.1...之类的,因为不占用输入输出端口,需不需要再在符号表里面进行编辑呢?
这些中间变量M0.0,M0.1...是不是在FB1的接口IN_OUT里面定义的?还是在临时数据TEMP或者静态数据STAT里面定义的,这三个都有什么区别,因为帮助文件确实说的蛮不详细,请给举个例子说明下可以么?他们都有什么不同的用法么?
2.我在FB1程序中用到了延时定时器T1,我把它定义在接口STAT里面了,我用到的两个DB(DB1,DB2)也生成了这个定时器的数据,但是我用OB1调用FB1的时候,在FB1块上发现居然没有需要给定时器赋值的端口,而给中间变量M0.0,M0.1赋值的端口有.这样的话,是不是表示FB1可以按DB1和DB2自动区分这个定时器,会不会他们之间重叠?
1003
jiji19840215
文章数:19
年度积分:50
历史总积分:1003
注册时间:2007/6/20
发站内信
发表于:2007/10/12 2:22:00
#1楼
二.书上说在调用FB时候,打...的位置可以赋实际参数,也可以不赋实际参数,我想问下,按照书上所说的,我是不是可以在???处填入相应的DB(比如DB1),那么这些位置就会自动的被赋予(DB1)中相应的数值?
三,请问有没有什么S7-300的程序故障诊断的功能,以及像S7-200 MFC一样的那种仿真软件?
1003
jiji19840215
文章数:19
年度积分:50
历史总积分:1003
注册时间:2007/6/20
发站内信
发表于:2007/10/12 2:26:00
#2楼
还请麻烦各位大哥了.对问题还有疑问又想帮助小弟的,请加 QQ30062741
看书看到深夜,这些个浅显的问题还没解决掉.
挺不容易,.表情
麻烦各位大哥了
38138
cvlsam 版主
文章数:12489
年度积分:749
历史总积分:38138
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2007/10/12 9:26:00
#3楼
问题一、1 在FB块中应不使用M作为中间变量,而应该使用#开头的临时变量作为中间变量,否则会导致FB出口不止一个,从而破坏了FB的封装。
2 T作为实际参数进行传递的时候,应该在FB接口中定义为Time类型。
问题二、是的
问题三、仿真软件使用西门子的PLCSIM
1003
jiji19840215
文章数:19
年度积分:50
历史总积分:1003
注册时间:2007/6/20
发站内信
发表于:2007/10/12 11:33:00
#4楼
以下是引用jiji19840215在2007-10-12 2:26:00的发言:
还请麻烦各位大哥了.对问题还有疑问又想帮助小弟的,请加 QQ30062741
看书看到深夜,这些个浅显的问题还没解决掉.
挺不容易,.表情
麻烦各位大哥了
大哥关于问题1里面临时变量和静态变量我想问下
是不是临时变量在各个FB之间即使定义的名字相同,在调用的时候也不会产生混乱
而如果用静态变量定义M的话,如果各个FB之间是否需要用不同的名字的定义才能不产生冲突.
1003
jiji19840215
文章数:19
年度积分:50
历史总积分:1003
注册时间:2007/6/20
发站内信
发表于:2007/10/12 11:36:00
#5楼
还有这些中间变量是否一定需要在接口那里定义一下呢?
可不可以不定义啊
以及符号表里面是否也一定要添加这个的定义?
38138
cvlsam 版主
文章数:12489
年度积分:749
历史总积分:38138
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2007/10/12 16:04:00
#6楼
临时变量只能在本FB中使用,当FB调用完毕,临时变量所占据的空间被释放。在FB中使用M都作为全局变量使用,因此无论怎么定义都会产生互相干扰,导致程序错误。
993
蓝天翱翔
文章数:17
年度积分:50
历史总积分:993
注册时间:2007/10/29
发站内信
发表于:2007/10/29 21:15:00
#7楼
FB的时间值要是想定义成局部变量,可以定义在接口IN里,类型S5Time,这样在其他块里面调用那个FB的时候就可以赋实参时间值了。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

62.4004