Somachine视频教程
创建时间:2018-05-22  访问量:2332  6  0

Somachine视频教程

1. 变量名的编程方式
传统的PLC编程方式要求编程者先分配寄存器地址,然后在此基础上命名标签名。这样,编
程者在编程之前必须先确定详细的I/O点数和中间寄存器数,然后分配相应的寄存器地址,最
后再给这些寄存器地址命名标签名,
SoMachine的编程方式不同于传统的PLC编程方式,编程者可以无需考虑先分配具体的寄存
器地址,可以直接先声明变量名,在程序的执行代码中使用变量名即可,编程者可以随时将
某个特定变量名链接到某个寄存器地址,也可以随时更改链接到该变量名的地址,使整个编
程过程更加灵活和方便,大大节省了编程者的开发时间。
建议编程者采用变量名的方式来编程,在程序代码中尽量不用或少用直接寄存器地址参与编
程。
2. 编程语言的优化选择
传统的PLC软件编程语言一般仅支持LD/IL/FBD,ST/SFC/CFC往往需要安装附加的语言包才能
支持。SoMachine支持全部的6种编程语言,编程者可以根据实际的需要任意选择编程语言。
对于SoMachine编程而言,建议编程者在选择编程语言时应根据实际的编程方便来选择编程
语言,而不是在整个程序中仅使用LD.例如,编写算法程序时应优先考虑ST,编写顺序流程时
应优先考虑SFC,编写逻辑控制时应优先考虑LD,编写功能块时应优先考虑CFC或FBD.
3. 优化的功能块结构
传统的PLC编程元素中FB都是单个体,FB与FB之间关联性不太大。而SoMachine的编程是面
向对象的编程方式,支持如下的FB结构

第4课:Somachine的编程优势

4 POU创建的原则
POU: Programming Organization Unit,可编程组织单元。可以是程序,功能块或函数中的任
一类型。下面一一详细的描述这3种类型的概念和区别:
程序:
在执行时能够返回一个或多个值的POU,程序内所有的变量值能够从本次程序执行结束保持
到下一次程序执行。程序可以被其他的POU调用,但是函数中不可以调用程序。程序没有实
例。
功能块:
可以提供一个或多个输出值的POU,不同于函数,功能块的输出变量值和内部变量值在每次调
用后保持,从而影响下次调用时的运算(调用功能块时输入值一样,但是输出值不一定一
样)。功能块有实例,调用功能块其实就是调用功能块的实例。
函数:
只有一个返回值的POU。与其它2种方式不同,函数在每次调用后不保存内部变量的值(本次
函数调用时对函数内部变量的改变不会影响下一次调用).。在ST语言中,函数可以作为参数
参与表达式运算。
建议广大的编程者,SoMachine编程中可以遵循如下的POU创建原则:
● MAST任务中只能调用程序,建议可以将您的项目按工艺或功能分成几段程序,在MAST中
调用。
●   需要反复调用的程序段可以建成功能块,这样,在您的程序中只需调用你的功能块实例即
可。例如,有100台开关阀需要通过程序来控制开或关,那么,在项目中只需要建立一个开
关阀的功能块,再分别调用100次即可。
● 个别的算法程序可以建成函数,得出的结果可以参与表达式运算。
5 编程语言的选择
在上章节中讲述了SoMachine软将有别于传统的PLC编程软件,编程语言的多样性是一大优
点。那么,编程者在选择编程语言时具体怎么选择呢?从优化程序和编程便利性的角度建议
大家,涉及到算法部分请选择ST语言,编写的程序往往简洁而高效;涉及到流程控制部分,
请选择SFC语言,编写的程序会条理清晰,逻辑关系不会混乱;涉及到逻辑控制部分,请选
择LD语言,编写的联锁,互锁等逻辑简单易懂;涉及到功能块部分,请选择CFC或者FBD,
编写的程序会形成一个网络清晰的网状电路图,易于读懂。当然,在实际的编程时,用户也
可以根据自己的使用习惯来选择编程语言,虽然实现的方法不同,但是都能得到同一个结
果。
6 变量名的使用
强烈的建议编程者在使用SoMachine时,使用变量名代替直接寄存器地址的方式来编程,其
优势这里不再做多赘述。用户可以在项目的前期使用变量名编写程序,待I/O地址确定后再链
接到相应的变量上。
变量名的命名是有一定规则的,请给变量命名时请尽量遵守“匈牙利命名法”:
● 每一个变量的基本名字中应该包含一个有意义的简短描述;
● 基本名字中每一个单词的首字母应当大写,其它字母则为小写;
● 依据变量的数据类型,在基本名字之前加上小写字母前缀;
请参照下表:

第4课:Somachine的编程优势