您现在所在的是:

无所不谈

回帖:11个,阅读:3393 [上一页] [1] [2] [下一页]
5675
dianqisu 版主
文章数:1312
年度积分:50
历史总积分:5675
注册时间:2008/3/13
发站内信
2012论坛优秀版主
2010年度论坛贡献奖
发表于:2013/11/18 15:32:48
#0楼
浅谈ST 语言编程之一
 梯形图语言编程是PLC编程首选语言之一,其图形化的形象结构完全符合电工继电器控制电路当中的思路模式,备受工程师青睐!而很多实际应用场合当中,需要用到很多复杂的算法来分析工艺要求,计算实际数据。如果采用梯形图指令编程,那么需要使用各种四则运算指令,根据公式求解,程序编写繁多,指令繁多。ST 语言类似于PACSAL语法,是一种计算机编程高级语言,简单高效的编程方式能表达任何复杂的运算公式,简化复杂的数学工程。
如:var_5:= (var_1-var_2+var_3)*var_4;  


浅谈ST 语言编程之二
 ST 语言使用了传统的很多高级语言的特性,包括:变量,操作符和控制流程语句,还可以和PLC 梯形图语言一起工作,相互协调,发挥各自其优势。ST语言结构中,“表达式”代表了整个语法的共通性,表达式由操作符和操作数组成,操作数可以是常量或者变量,可以任意建立符合规则的变量,制作流程表达式,所以看程序的读者看懂了表达式即看懂了程序,这是梯形图不能所及的。
如:IF temp THEN
FOR temp_循环 :=0 TO 9 DO
temp_总和:= temp_总和+SUM_累计[ temp_循环 ];
END_FOR;
END_IF;


浅谈ST 语言编程之三
 在编写程序的时候,我们要养成编写程序注释的习惯。虽然注释经常被删掉,但它们是源代码中非常重要的一部分。它们解释了一部分代码,使程序更易读懂。注释帮助你或其他人读你的程序,即使过去了很长时间。注释不被编译,因此不会影响程序的执行。
一个优秀的工程师编写的程序,不但是能完成工艺要求,程序简洁明了,可移植性!更重要的是让更多的人能够通过你编写的程序来了解工艺和了解你!

浅谈ST语言编程之四

在ST结构当中,一个表达式中常用多个操作符,很多时候忽略了操作符优先级顺序,造成在调试程序时,明明程序代码没问题,却怎么也达不到理想状态。所以操作符的优先级顺序处理是整个语法的关键。
在任何一个表达式中,首先执行最高级别的操作符,接着执行低一级的操作符,直到执行完所有的操作符。具有相同级别的操作符按照书写顺序从左至右依次执行。
附件 QQ截图20131122115158.jpg
如:var_5:= var_1-var_2*var_4; (*先执行乘法,再执行减法*)

浅谈ST语言编程之五

在PLC 梯形图编程当中,如果没有跳转,或者调用子程序的情况下,所有的程序都是按照从上到下,从左到右依次扫描,所有的指令都是依次执行,完全没有优先级之分,这就是梯形图编程与ST语法编程最大区别之一。之前我调试过一段程序,就是因为忽略的优先级,造成程序的不稳定,经过无数次的查找原因之后,才找到问题的关键是由“逻辑与”“逻辑或”的优先级顺序引起的。原始程序如:
IF
Real_weight>SV_weight_low OR Real_weight=SV_weight_low  AND Real_weight <SV_weight_high THEN
output:= TRUE;
ELSE
output:= FALSE;
END_IF;
修改后程序:
IF
(Real_weight>SV_weight_low OR Real_weight=SV_weight_low)
AND Real_weight <SV_weight_high THEN
output:= TRUE;
ELSE
output:= FALSE;
END_IF;


浅谈ST语言编程之六
在ST语法当中,有5种命令组,需要我们加强学习,对这5种命令组掌握程度的与否,决定着你对ST语言编程的熟悉度。
1:布尔逻辑操作
2:算数操作
3:比较操作
4:判断
5:C ase语句
例:
附件 QQ截图20131122115158.jpg

ST 编写如下:KM1:=( SB1 OR KM1) AND  NOT  SB2 ;
大家应该注意的是,在这个表达式当中,命令组采用的是布尔逻辑操作,而“与”的优先级高,执行“或”逻辑时,要使用括号增加优先级。
[此贴子已经被jint于2013/11/22 12:47:49编辑过]
  专业不专业不是自己说了算,也不是某人说了算.关键要看客户的认可度!
     愿用专业的标准,为客户服务!
     自动化行业方案的探究,自动化技术的探讨.提供一切自动化的服务.是我们团队的追求.
24574
mjinbao
文章数:13934
年度积分:50
历史总积分:24574
注册时间:2013/1/12
发站内信
2018春节活动(三)
2017春节活动(三)
2016国庆活动(三)
发表于:2013/11/18 15:46:09
#1楼
虽然未用过ST语言,但还是要顶!
匿名用户
文章数:N/A
年度积分:0
历史总积分:0
注册时间:2011/10/18
发站内信
发表于:2013/11/18 19:45:19
#2楼
该用户被锁定,回复内容不予显示!
匿名用户
文章数:N/A
年度积分:0
历史总积分:0
注册时间:2011/12/19
发站内信
发表于:2013/11/18 20:27:52
#3楼
该用户被锁定,回复内容不予显示!
11823
gzg_00
文章数:8996
年度积分:50
历史总积分:11823
注册时间:2009/10/1
发站内信
发表于:2013/11/19 5:35:52
#4楼
哪一些支持?
2334
东昌机电
文章数:643
年度积分:50
历史总积分:2334
注册时间:2013/9/13
发站内信
工控人谈电商
发表于:2013/11/19 9:33:15
#5楼
ST语言虽然比较容易,但是会影响效率。

你需要牺牲系统性能来换取编程上的高效。


Regards
SANKA电机
6262
yohikp
文章数:1648
年度积分:50
历史总积分:6262
注册时间:2008/9/15
发站内信
发表于:2013/11/19 12:27:04
#6楼
确实,最近在认真学ISP,以后就尽量少用WPS了,1000多条程序就看得我够眼花的。。。
天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身。。。
1229
dingwujun
文章数:39
年度积分:50
历史总积分:1229
注册时间:2005/6/28
发站内信
发表于:2013/11/20 10:24:38
#7楼
回复 #6楼 yohikp
三菱的ST吗?
我认为ST和梯图结合起来比较好
梯图做复杂运算太累了
复杂而且会重复使用的就用ST来写,在梯图里调用
6262
yohikp
文章数:1648
年度积分:50
历史总积分:6262
注册时间:2008/9/15
发站内信
发表于:2013/11/20 10:32:51
#8楼
回复 #7楼 dingwujun
台达的,ST,SFC,LD一起用。。。
天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身。。。
1496
maomaom
文章数:231
年度积分:50
历史总积分:1496
注册时间:2006/4/26
发站内信
发表于:2013/11/21 23:37:16
#9楼
更重要的是让更多的人能够通过你编写的程序来了解工艺和了解你!
能认识到“让更多的人能够通过你编写的程序来了解你!”,说明楼主是一名程序员!是一个合格的程序员!
虽然我没用过ST 语言编程,已经感受到楼主的深厚功力了!
楼主多来讲技术吧。。。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

93.6006