技术论坛

 回复:SCL同样程序在FB、FC块中不同的输出结果

返回主题列表
作者 主题
流光溢彩
游士

经验值:189
发帖数:4
精华帖:0
楼主    2021-04-26 16:17:27
主题:SCL同样程序在FB、FC块中不同的输出结果 精编帖 

同样的程序

设定满足触发条件的参数

修改参数,输出结果不同,FB块正确输出。



holdkcsxyz
至圣

经验值:13739
发帖数:1560
精华帖:24
2楼    2021-04-26 16:48:21
精编帖  主题:回复:SCL同样程序在FB、FC块中不同的输出结果

1:类比只SET不RESET不完备。

2:FC没有自己专属的数据块,OUTPUT参数原则上没办法保持上次调用得出的确切结果。如果两个IF都满足时SET OUTPUT结果确定;但如果两个IF条件任意一个不满足,那这时你想让OUTPUT输出什么结果呢,显然上述程序没有考虑这时应该将OUTPUT赋成何值。

和光同尘
奇侠

经验值:7672
发帖数:1154
精华帖:2
4楼    2021-04-26 21:14:20
精编帖  主题:回复:SCL同样程序在FB、FC块中不同的输出结果

IF语句中未考虑 ELSE 情况,当不满足条件output_1怎么动作,程序中未写代码 

手机用户20200220H2PZVL
游民

经验值:51
发帖数:11
精华帖:0
5楼    2021-04-28 17:29:20
精编帖  主题:回复:SCL同样程序在FB、FC块中不同的输出结果
建议你仔细看一看FB和FC的区别,什么是背景数据块,以及背景数据块的作用,在 SCL语言中 := 等效于置位
Zane
版主

经验值:85179
发帖数:21055
精华帖:399
7楼    2021-04-28 21:59:08
精编帖  主题:回复:SCL同样程序在FB、FC块中不同的输出结果


说什么好呢!勤学习,少装逼!


正确的程序逻辑与是否FB/FC,以及是否保持,是没有任何关系的,为什么结果不一样?是错误的程序在FB/FC里的表现不同!


楼主的程序错误多了去了!

Zane 注册自动化系统工程师 Always save before download
holdkcsxyz
至圣

经验值:13739
发帖数:1560
精华帖:24
10楼    2021-04-29 11:52:54
精编帖  主题:回复:SCL同样程序在FB、FC块中不同的输出结果

应该是针对输出结果的不确定不完备的逻辑导致的:如果两个IF条件任意一个不满足,那这时你想让Output输出什么结果呢:

1:主贴的处理是不扫描以及不赋任何值 。 

2:Output参数不论是布尔类型还是浮点型或其它类型在扫描完毕准备出FC/FB时它应该是一个确定的结果为好,比如任意一个条件不满足时可以把它赋成false或者赋值成true也是可以的,如果Output接口参数是浮点类型,可以把它赋值成任意一个符合规范的浮点型的常量或变量。 

3:对于Output型接口参数运行完毕后得不到确切的结果可能没问题也可能有问题,严格讲是不允许的。


Zane
版主

经验值:85179
发帖数:21055
精华帖:399
11楼    2021-04-30 18:47:45
精编帖  主题:回复:SCL同样程序在FB、FC块中不同的输出结果

很多人靠着IF THEN ELSE就以为自己会编PLC程序了。

楼主的做法,其实比梯形图里的SET/RESET还不如,贴狗皮膏药还不会漏贴,他是还不知道哪里要贴。


因此,编写PLC程序,还是要遵循如下原则:

1)  逻辑程序全扫描

2)所有变量只能被写一次

Zane 注册自动化系统工程师 Always save before download
flying_lin
侠士

经验值:1337
发帖数:210
精华帖:1
13楼    2021-05-06 08:16:16
精编帖  主题:回复:SCL同样程序在FB、FC块中不同的输出结果
这个好,直观的让人看明白了Scl 与梯形图的区别与对应。一直想多看看这样的对比。有时候scl比梯形图灵活很多,相应的逻辑难度也提高了。
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。