昆仑通态脚本程序基本语句知多少?
由于MCGS嵌入版脚本程序是为了实现某些多分支流程的控制及操作处理,因此包括了几种最简单的语句:赋值语句、条件语句、退出语句和注释语句,同时,为了提供一些高级的循环和遍历功能,还提供了循环语句。所有的脚本程序都可由这五种语句组成,当需要在一个程序行中包含多条语句时,各条语句之间须用“:”分开,程序行也可以是没有任何语句的空行。大多数情况下,一个程序行只包含一条语句,赋值程序行中根据需要可在一行上放置多条语句。
赋值语句
赋值语句的形式为:数据对象 = 表达式。赋值号用“=”表示,它的具体含义是:把“=”右边表达式的运算值赋给左边的数据对象。赋值号左边必须是能够读写的数据对象,如:开关型数据、数值型数据以及能进行写操作的内部数据对象,而组对象、事件型数据对象、只读的内部数据对象、系统函数以及常量,均不能出现在赋值号的左边,因为不能对这些对象进行写操作。
赋值号的右边为一表达式,表达式的类型必须与左边数据对象值的类型相符合,否则系统会提示“赋值语句类型不匹配”的错误信息。
条件语句
条件语句有如下三种形式:
If 〖表达式〗 Then 〖赋值语句或退出语句〗
If 〖表达式〗 Then
〖语句〗
EndIf
If 〖表达式〗Then
〖 语句〗
Else
〖语句〗
EndIf
条件语句中的四个关键字“If ”、“Then ”、“Else ”、“Endif ”不分大小写。如拼写不正确,检查程序会提示出错信息。
条件语句允许多级嵌套,即条件语句中可以包含新的条件语句,MCGS脚本程序的条件语句最多可以有8级嵌套,为编制多分支流程的控制程序提供方便。
“IF ”语句的表达式一般为逻辑表达式,也可以是值为数值型的表达式,当表达式的值为非0时,条件成立,执行“Then ”后的语句,否则,条件不成立,将不执行该条件块中包含的语句,开始执行该条件块后面的语句。
值为字符型的表达式不能作为“if ”语句中的表达式。
循环语句
循环语句为While和EndWhile,其结构为:
While 〖条件表达式〗
….
EndWhile
当条件表达式成立时(非零),循环执行While和EndWhile之间的语句。直到条件表达式不成立(为零),退出。
退出语句
退出语句为“Exit ”,用于中断脚本程序的运行,停止执行其后面的语句。一般在条件语句中使用退出语句,以便在某种条件下,停止并退出脚本程序的执行。
注释语句
以单引号“’”开头的语句称为注释语句,注释语句在脚本程序中只起到注释说明的作用,实际运行时,系统不对注释语句作任何处理。
0701 「万泉河」PLC标准化编程烟台方法:把优雅进行到底
0701 【万泉河】PLC标准化编程烟台方法:把优雅进行到底
有一些人好像连优雅啥意思都不懂了。
文章《0628 【万泉河】优雅的PLC程序一定是用EXCEL写出来的》发表之后,很多人回复大有收获,看到这样简练的程序直骂自己以前写的程序是垃圾。
也有人表示,原本都有打算出圈改行了, 最近接触了我的系列文章,看了我出的这些PLC程序例子, 对PLC行业又有了新的认识,感觉PLC编程原来也可以很有意思,不再像过去一样苦闷土鳖楞干且无趣。 在考虑还要不要出圈了。
然而,也不乏来抬扛的:
我当然首先要排除这位是不怀好意的故意唱反调,以能钻各种角度能唱出不同的声音而得到什么。 因为这种光天化日之下发出的可笑的观点一时爽过之后,代价是成为历史印记, 会留在网站的帖子记录里永远被人观瞻,实在算不上什么光荣。
所以,我还是从自身出发,审视自己的表达是不是存在一些问题, 是不是有一些容易引发误会的地方。
还真有。
首先, 直接用优雅来形容程序是不准确的。 程序最终下载给CPU运行, 只要功能正常运行,达到了设计目标就行, 无所谓程序好坏,也就不存在是否优雅的评价维度。
而至于在用户侧, 用户操作是否方便舒适, 那主要在于每个设计者的水平,如何去摸索契合用户的需求习惯,则更不是我所能做到的了。
所以,我讲优雅的PLC程序,其实是在说,生成(编写)这个PLC程序的时候, 工程师自身的状态可以很优雅。
比如, 别人苦哈哈一个字符每个数据的逐字逐句写程序,几个小时,手都累酸了, 眼睛都花了, 写出来还错误百出,还需要逐行逐句调试对点,而你可以通过导入导出手段几分钟内完成,检查错误都不需要有。
还比如, 别人的程序逻辑复杂,调试时需要蹲在电气柜门外,笔记本电脑随便放个木箱上,严谨测试每一句程序的语法,核对调用的每一个变量。而咱们的程序就是简单的公式生成的, 工作中只需要一点点文字处理工作, 甚至如果自己有别的管理工作分不开身, 随时指点安排实习生,助理文员帮忙就可以完成, 也不必担心她们因为不懂基本原理而搞错。上电后几乎不需要调式。
这就是优雅。
SMART200的80模拟量处理程序例子发布后, 有网友评价,平淡无奇,没有用到什么高深的技术, 一眼看到底的简单, 大智若愚的感觉,这就是优雅。
能找到高效完成的方法,把复杂问题简单化,大道至简,不装逼, 不卖弄技巧, 易维护,易传承,这就是优雅。
工作中举一反三, 一次设计调试工作完成,后续的相似的工程项目,花在上面的设计时间和精力逐渐减少,出差调试时间也逐渐减少, 甚至到终极成熟,作为工程师都可以几乎不出差, 调试的时候远程稍微对现场简单指导就可以开启运行。 这就是优雅
年轻刚毕业的时候抓住机会学习补充各种专业技能, 能吃苦耐劳,在现场一线跌打滚爬增进工作经验, 年纪稍微大了一些,工作可以安安稳稳朝九晚五,不再需要一年到头出差奔波在外,可以有更多时间照顾家庭,这就是优雅。
我在宣布发明创造了标准化编程方法之后, 有很多人不服气, 说早就听说很多大公司十几年前就在搞标准化,我当然承认他们可以先行一步搞标准化, 所以我就退让一步, 把自己搞的这一套称之为烟台方法。
然后就不断有人问起, 你的烟台方法有什么特点,和一些公司的标准以及一些行业标准有什么区别。 我从来都是把上述的这些优点不厌其烦地从头描述一遍。 现在清楚了, 这些特点总结归纳起来就是一个词:优雅。
我见过一些大公司或者个人开发的设备标准化程序, 底层的PLC程序还是普通的常见的程序写法, 然而通过各种高级语言PYTHON, VB, 等等来生成程序内容。脚本中需要自动为PLC程序管理分配资源, 全局变量M, T, DB块编号等等。我整个看下来是只有头皮阵阵发麻。这些程序的生成过程就完全无优雅可言了。所生成的程序的健壮性也绝对存疑。
我在《如何优雅地点亮中央报警指示灯》等个别文章中,偶尔用过优雅的描述,但还没想过整体用优雅来描述。 后来有学员学习总结中提到:
我是PLC标准化烟台方法训练营的新学员,曾几何时,自己也曾为了现场修改工艺逻辑、增加功能忙的焦头烂额、各种的坑也趟的不少,当然有些是自己埋的,有些别人埋的,这些坑都不是什么高级技术问题,有大部分都是自己编程的坏习惯、程序逻辑不够严谨、全局变量随手用等、有些项目工艺大部分相同、觉得拿来就修改一下就可以使用了,然而由于当初的规划没有一个标准,修改起来各种的不适,到头来宁愿推倒了重写。吃亏多了,总会想问个为什么,有没有一劳永逸的方法、降低工作量、提高效率。
某天,关注了万工的PLC标准化编程公众号,文章中所讲的都是我遇到的痛点,既然有前辈提出新的编程思想,那为什么不学习呢,不使用呢?虽然网上有太多太多的质疑声音,万工还是顶着压力推行,没有金刚钻不揽瓷器活!于是我参加了PLC标准化烟台方法训练营,仔细阅读了标准化编程的思想,它教与我如何规划项目,如何对设备和工艺分层,合理的分层,减少功能程序之间的低耦合,使得功能或设备的调用和修改非常的灵活,不会牵一发动全身,耦合的程序的结构形式非常简单和有规律,可以利用工具实现批量生成,并且不容易出错、实在是大大的提高效率;它给我耳目一新的感觉,原来程序是可以这样写的啊!写程序也可以是一个优雅 的工作!
我自己也才恍然大悟, 原来我一直以来从事的是一项优雅的工作,是在把优雅的工作方式推广应用到广大同行各行各业。
因为有曾经关系不错的朋友跟我抱怨没机会见过烟台方法的程序,我自然不会因为关系好就白送给他看。 所以就趁机找机会只做了80系列的例子, 包括80个工位双联开关控制公用灯, 80个模拟量转换调用,大家可以下载这些例子, 学习的同时,可以从中观察到烟台方法的一角,可以了解到程序生成过程的优雅。
这些例子程序都是在很短时间内完成的,而且也可以很容易就在不同PLC品牌之间移植完成。 即,包括程序的移植过程,都可以是优雅的。
那么, 对于烟台方法生成的工程项目的设备程序而言, 整体都可以是优雅的, 都可以如例子程序一般优雅。
所以以后大家再看到烟台二字的时候,就把烟台当作优雅的同义词吧!
相关问答
PLC脚本编程什么意思?
简单说一下PLC全称可编程逻辑控制器,可见其本质就是一种控制器,这种控制器可大致看作由处理器、寄存器、输入输出组成。PLC编程的本质就是制定一套程序,让...
excel可以用来做plc的脚本吗?
Excel本身并不是用于编写PLC脚本的工具,它是一个电子表格软件,主要用于数据分析和处理。虽然Excel中有一些基本的运算函数和逻辑函数,但是它并不支持PLC脚本所...
各种组态软件里面的脚本编程怎么学?
工业行业的这些电气工程师,让他们写点脚本都困难,PLC里面还专门搞了梯形图来适应他们,然而我学PLC都不需要练习梯形图,直接用SCL语言搞定。他们用的组态软件...
PLC中触摸屏对设备的脚本连接。时什么意思?还有软启动时什么意思。高手指点啊?
脚本链接是指PLC和触摸屏之间的软件系统链接。就像现在电脑的系统命令一样不需要你太多的干预的,就算是某些触摸屏编辑软件里有脚本命令编辑那也是各个功能固...
PLC的变量如何与Wincc连接?需要在PLC程序中编程吗?
使用脚本程序,调用内部函数SetTag(“PLC变量”,GetTag(“内部变量”))。SetTag和GetTag函数可详见Wincc帮助说明使用脚本程序,调用内部函数SetTag(“PLC变量....
PLC的C语言怎么弄?
PLC的C语言编程需要借助专门的软件和硬件工具。一般来说,需要使用PLC生产厂家提供的专用编程软件,将C语言代码编写成PLC可识别的指令,然后通过编程电缆或其他...
请问下怎么把plc程序写入组态王中的plc设备里面,可以写入吗?
PLC的程序不能写到组态王中,只能写到PLC里运行,组态王是上位机人机组态操作界面。组态王中的PLC设备,是用来连接你的PLC和你的PLC通讯用的,只能把你PLC中的数...
老师们!在线等,东凤服务专业的PLC编程系统,PLC编程系统使...
[回答]宇丰一直以来致力于PLC、变频器和伺服等自动化产品的设计应用,近五年来客户要求不断升级,从而将重心转移到视觉检测、运动控制和机械手等方面。it...
怎么把编好的程序放入PLC-ZOL问答
用电缆线连接电脑和PLC电脑要装有COM口驱动(没有装驱动接线没反应)然后再电脑的设备管理器的端口选项查看COM口位置下一步就是在编程软件的在线选项里面选择...
mcgs脚本入门?
MCGS脚本是一种基于图形化编程的脚本语言,可以用来控制工业自动化设备,实现自动化生产线的流程控制、数据采集和处理等功能。入门MCGS脚本需要掌握其基本语法...