登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:S7-300程序里面的一个问题

点击:2320 回复:7

因为以前一直在使用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自动区分这个定时器,会不会他们之间重叠?
07-10-12 02:07
二.书上说在调用FB时候,打...的位置可以赋实际参数,也可以不赋实际参数,我想问下,按照书上所说的,我是不是可以在???处填入相应的DB(比如DB1),那么这些位置就会自动的被赋予(DB1)中相应的数值?
三,请问有没有什么S7-300的程序故障诊断的功能,以及像S7-200 MFC一样的那种仿真软件?
07-10-12 02:22
还请麻烦各位大哥了.对问题还有疑问又想帮助小弟的,请加 QQ30062741
看书看到深夜,这些个浅显的问题还没解决掉.
挺不容易,.表情
麻烦各位大哥了
07-10-12 02:26
问题一、1 在FB块中应不使用M作为中间变量,而应该使用#开头的临时变量作为中间变量,否则会导致FB出口不止一个,从而破坏了FB的封装。
2 T作为实际参数进行传递的时候,应该在FB接口中定义为Time类型。
问题二、是的
问题三、仿真软件使用西门子的PLCSIM
07-10-12 09:26

引用 jiji19840215 在 2007-10-12 2:26:00 发言【内容省略】

大哥关于问题1里面临时变量和静态变量我想问下
是不是临时变量在各个FB之间即使定义的名字相同,在调用的时候也不会产生混乱
而如果用静态变量定义M的话,如果各个FB之间是否需要用不同的名字的定义才能不产生冲突.
07-10-12 11:33
还有这些中间变量是否一定需要在接口那里定义一下呢?
可不可以不定义啊
以及符号表里面是否也一定要添加这个的定义?
07-10-12 11:36
临时变量只能在本FB中使用,当FB调用完毕,临时变量所占据的空间被释放。在FB中使用M都作为全局变量使用,因此无论怎么定义都会产生互相干扰,导致程序错误。
07-10-12 16:04
FB的时间值要是想定义成局部变量,可以定义在接口IN里,类型S5Time,这样在其他块里面调用那个FB的时候就可以赋实参时间值了。
07-10-29 21:15

工控新闻

更多新闻资讯