吐糟!吐糟!吐糟GX Works2下写ST语言程序!

您所在的位置:网站首页 吐槽语句推荐怎么写 吐糟!吐糟!吐糟GX Works2下写ST语言程序!

吐糟!吐糟!吐糟GX Works2下写ST语言程序!

2024-07-04 11:26| 来源: 网络整理| 查看: 265

导火索:今天早上GX Woks无响应,强行关闭再打开,发现一个早上的活白干了!最近用GX Works2写ST语言程序的积怨爆发了!背景:最近要将一个其他种类控制器的转为PLC,源程序是C语言的,于是瞄上了ST语言(不知道的翻IEC 61131-3标准看),据称接近C等高级语言,能用相对简洁的表法方式处理复杂逻辑和数学问题。吐糟1:就是GX Woks的自动保存!选项里面的自动保存居然全部都是在把程序写进PLC才进行,没有编译时保存,也没有每隔一段时间保存。于是GX Woks2一旦无响应,节哀吧……吐糟2:ST相对简洁的表法方式处理复杂数学问题?!连个“整型提升”都没有(反正?GX Woks2没有),处理不同类型整数的计算时可壮观了,一堆INT_TO_DINT、BOOL_TO_INT什么的,本来十几个字符的算式硬生生写成了几十个字符的。就算编译后的代码一样,但编译器难道就不能聪明一些做自动整型提升,以方便用户么!吐糟3:求幂的“**”居然强制要求底数是浮点数类型,如求2的N次幂还要将2先转换为浮点数2.0,闲得发疯了吧!吐糟4:“MELSEC-Q/L结构体编程手册(结构化文本篇)”手册的小节“4.3.5 使用控制语句时的注意事项”中列举了好几种if、for语句的执行步数和时间,还亲切地把等效且执行步数更少时间更短的指令表告诉用户。那为什么ST语言编译时不直接编译成后面的那种指令表!非要编译出消耗更多步数和时间的指令!吐糟5:GX Works2对ST代码的调试弱爆了,在手册“GX Works2 操作手册(公共篇)”里面的“附录4.3 不支持的功能”中有写,不支持单步跟踪、断点等等,但又说请用支持该功能的GX Developer……你GX Works不是作为GX Developer等等的升级版+集大成者吗,怎么把实用的功能砍掉了!吐糟6:标签用到的软元件的自动分配标号是从大到小,手动指定时的自动输入却又是从小到大。如有个结构体里面有bool型变量var1、var2、var3,自动分配时会分配到类似:var1--M7679、var2--M7678、var3--M7675,手动指定的自动输入时却分配到类似:var1--M0、var2--M1、var3--M2,标号大小是倒过来的。在使用批量传送置位复位等指令时让人无所适从。吐糟7:相对C语言,不能使用多重结构体变量,也不能使用联合体,如果可以用的话就能见一个类似下面结构的数字IO结构体,条用到时候就是DIO.DIN.input1,这样代码看起来有条理多了DIO---DIN---包含成员输入1至输入n(可建联合体变量All用于全体操作)        |        |-DOUT--包含成员输出1至输出n(可建联合体变量All用于全体操作)杂七杂八:还有语法高亮不能显示配对括号,有时无缘无故的变为注释的绿色不执行编译,换个行又好了……部件选择里面的函数连个功能说明也没有,也不能直接输入功能搜索函数,全都要跑到帮助里面找,两头跑累不累啊!尾声:我明白ST不是C,但自动整型提升这样方便的特性难道就不能加进来吗?而GX Works毕竟是传统梯形图等起家的,ST的编写编译环境还差不少呢。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3