新疆维吾尔族自治区西门子授权总代理---伊犁哈萨克自治州西门子电机维修授权合作伙伴

供应商
广东湘恒智能科技有限公司
认证
西门子PLC
西门子伺服电机
西门子触摸屏
西门子电缆
西门子变频器
西门子模块
联系电话
13510737515
手机号
13185520415
联系人
董海波
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)
更新时间
2024-05-25 07:00

详细介绍

我们可以验证这个结论,即通过修改db1.dbx2.0的值,可以直接改变输出参数rs_result(m100.2),而不论ob1中是否对rs_result(m100.2)进行了置位操作,如图5所示。


图5


既然我们已经分析出问题出现在fb块上,那么这个问题如何解决呢?


我们知道对于fb功能块,除了in、out类型接口参数,还有一个in_out类型接口参数。对于in_out类型的接口参数,在调用执行时首先将实参读入,然后进行逻辑运算,后再将逻辑运算的结果传递给实参进行输出。可见相对于out类型接口参数而言,in_out类型接口参数是要先读入实际参数的值,这样就可以保持上面的逻辑运算结果不会因为fb块的调用执行而被修改。


所以我们可以将fb1作如下修改,如图6所示。


图6 fb1


图7 修改后在ob1中调用fb1


修改程序后进行测试,结果与预想的一致,即可以通过set_trig(m100.0)、rset_tri(m100.1)对rs_result(m100.2)进行置位、复位操作,如图8所示


图8


现在我们简单总结一下:fb功能块在调用时,外部实际参数通过输入、输出和输入/输出接口传递给其背景数据块对应的地址。在fb内部,程序直接操作背景数据块地址进行逻辑运算。对于fb功能块的使用我们要特别注意参数传递的规则。这些规则很隐蔽,一般不易引起我们的重视。并且在出现问题时,如果不了解这些规则那就真的是“猜的中开头,猜不中结尾”,出错成为新常态了。


华南西门子总代理,华中西门子总代理,华东西门子总代理,华北西门子总代理,西北西门子总代理

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话