SCL语言如何实现FB的输出与CPU AO输出的连接

已锁定

EngineerStation

  • 帖子

    18
  • 精华

    0
  • 被关注

    2

论坛等级:游民

注册时间:2011-08-15

普通 普通 如何晋级?

SCL语言如何实现FB的输出与CPU AO输出的连接

1480

5

2014-01-10 09:47:26

首先在符号表中定义了 输出端口 1.1GFJ-N PQW 800 WORD
DB 100 为电机背景数据块
电机控制程序 “DJ” FB 301 端口定义如下
IN:
JZ //电机就地/集中信号 ;BOOL
YX //电机运行/停止信号 ;BOOL
GZ //电机故障信号 ;BOOL
IN_OUT:
PID_OUT //变频电机频率给定;WORD
QD //WinCC界面上启动指令;BOOL
TZ //WinCC界面上停止指令;BOOL
OUT_ST //实际输出至电机的启动指令;BOOL
OUT_SP .//实际输出至电机的停止指令;BOOL
我使用SCL调用FB301 使用如下代码
DJ.DB100(JZ := "1.1GFJ-L" // IN: BOOL
,GZ := ("1.1GFJ-F" OR "1.1GFJ-BF" ) // IN: BOOL
,YX := "1.1GFJ-R" // IN: BOOL
,PID_OUT :="1.1GFJ-N"
,OUT_ST := "1.1GFJ-VST" // INOUT: BOOL
,OUT_SP := "1.1GFJ-VSP" // INOUT: BOOL
,BJ1 :="1.1GFJ-BF"
);//1#罗茨鼓风机
编译时在 PID_OUT那一行输出invalid assignment 错误
请问PID_OUT输出如何才能赋值给AO端口(1.1GFJ-N)
为何OUT_ST := "1.1GFJ-VST"也是IN_OUT类型却没有报错?

FB 301 是我自己编写的电机控制程序,符号为"DJ"
PID_OUT这个变量只要定义为非BOOL变量,编译就有错误,
OUT_ST OUT_SP 是BOOL变量用来输出给CPU的DO 编译没有问题,可是为什么同样是IN_OUT类型,却编译不通过呢?

突然发现一个问题:
如果将上面的语句更改为这样就编译没问题
DJ.DB100(JZ := "1.1GFJ-L" // IN: BOOL
,GZ := ("1.1GFJ-F" OR "1.1GFJ-BF" ) // IN: BOOL
,YX := "1.1GFJ-R" // IN: BOOL
,OUT_ST := "1.1GFJ-VST" // INOUT: BOOL
,OUT_SP := "1.1GFJ-VSP" // INOUT: BOOL
,BJ1 :="1.1GFJ-BF"
);//1#罗茨鼓风机
"1.1GFJ-N":="1.1GFJ".PID_OUT;
也就是讲PID_OUT单独拿出来就没问题,这是为什么呢?是因为SCL语言的语法要求吗?
SCL语言如何实现FB的输出与CPU AO输出的连接 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54660条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。