在SIMOTION SCOUT软件中,提供了三种编程语言环境,分别是MCC(Motion ControlChart),LAD/FBD(Ladder Logic/Function Block Diagram)以及ST(Structured Text),下面分别介绍这三种编程语言。
1.MCC编程
MCC是SIMOTION的一种图形化编程语言,具有使用方便,易于理解,上手快的特点。MCC是一种类似流程图的编程方式,只需在MCC命令中输入必要的参数就可以完成复杂的操作指令,大大简化了程序的复杂程度。MCC特别适用于顺序执行的运动控制程序。图10-13所示为在自动化机器制造中,用MCC语言编程的示例。
图10-13 MCC图形化编程示例
MCC具有以下特征,使得自动控制程序编写更加便利:
1)可通过拖拽等方式轻松编程,容易定义机器的动作顺序;
2)支持逻辑控制程序执行;
3)通过调用子程序、创建命令和库功能的模块,可实现结构化编程;
4)等待命令可对事件快速反应;
5)可以同时启动多个轴;
6)在线跟踪程序的执行状况(程序执行监控和设置断点);
7)集成在线帮助。
以上特征可以帮助初学者迅速编写运动控制程序,也可以帮助经验丰富的用户创建复杂的程序。
MCC编辑器的界面分为5个部分,分别为导航栏、菜单、工具栏、状态栏和工作区,如图10-14所示。
图10-14 MCC编辑器的界面
对MCC编辑器可以有以下操作:
1)可以在菜单中选择“View”→“Maximize Working Area”或“View”→“Maximize Detail View”来最大化工作区或状态栏。还可以用“View”→“Detail View”或“View”→“Project Navigator”来关闭某个区域,如图10-15所示。
2)可以在工具栏Zoom Factor中选择MCC程序显示的比例。或者按住Ctrl键同时滚动滑轮改变MCC图的大小。
3)用鼠标双击项目导航栏的MCC图或MCC程序单元可以打开程序。如果有几个MCC图或MCC程序单元同时被打开,可以用下面的方法查看某个程序:
①选择工作区下方的标签;
②Windows菜单下选择某个程序;
③项目导航栏双击某个程序。
图10-15 View菜单选择
通过菜单“Options”→“Settings”,可打开设置窗口,如图10-16所示。
图10-16 打开设置窗口
在MCC editor标签下,可以改变MCC编辑器的属性,如图10-17所示。
图10-17 MCC编辑器的设置
在此对话框里可以设置以下内容:
①条件表达式的标准语言:LAD、FBD或formula(公式);
②变量定义的语言:LAD、FBD或formula(公式);
③“On-the fly”变量声明:如果激活,当在程序中输入一个未知符号时,会弹出一个对话框,用户可在此对话框中声明变量;
④“Only known types for type specification”:在类型列表里只显示已知的类型,如果选择了此选项,声明列表只包括同一个MCC程序单元或者链接的程序单元或库中的功能块。如果不选择此选项,声明列表包括了项目中所有的功能块;
⑤Display comments for external variables:显示外部变量的注释。
2.MCC程序单元、MCC图以及MCC指令
MCC程序单元位于项目导航栏中SIMOTION设备的“PROGRAMS”文件夹下,是进行编译的最小单位。MCC图是MCC程序单元下的程序(包括程序,功能FC或功能块FB),位于项目导航栏的MCC程序单元下,如图10-18所示。一个MCC程序单元可以包含多个MCC图。
图10-18 MCC程序单元和MCC图
图10-19 插入MCC程序单元
(1)插入MCC程序单元
可以用下面的方式插入MCC程序单元:
1)在导航栏中,“PROGRAMS”文件夹下双击“Insert MCC Unit”;
2)选择PROGRAMS文件夹,通过菜单选择“Paste”→“Program”→“MCC Unit”;
3)右击PROGRAMS文件夹,通过右键菜单选择“Insert new object”→“MCC Unit”。在弹出的对话框(见图10-19)中输入MCC程序单元的名称,名称由字母(A~Z,a~z),数字(0~9),或下划线组成,但是必须是字母或下划线开始,不区分大小写,最多128个字符。名称在此SIMOTION设备中必须是唯一的,以示区分。还可以输入作者或者版本信息。如果有必要,选择编译器标签对程序单元的编译器进行设置。
(2)插入MCC图
可以用下列方法插入一个MCC图:
1)在项目导航栏中在MCC源文件下双击“Insert MCC chart”。
2)菜单中选择“Paste”→“Program”→“MCC chart”。
在弹出的对话框中输入MCC图的名字,选择插入的MCC图的类型(程序、功能或是功能块)。如果要使此程序能在其他的程序中使用,则要选择Exportable复选框,如图10-20所示。
图10-20 插入MCC图
(3)MCC指令
在MCC图中,用户可以创建程序(Program)、功能块(FB)或功能(FC)。每个MCC程序已包含了开头和结尾,如图10-21所示,在这两者之间写入MCC命令,程序按指定的顺序执行。
以下两种方式可插入MCC指令:
1)菜单“MCC Chart”→“Insert”插入MCC指令。
2)MCC编辑器工具栏。工具栏中包含了完整的指令集合,指令被分为若干个指令组,如图10-22所示。每个指令组用一个按钮表示,光标放到该按钮上时,该组命令会显示出来,然后就可以单击相应的命令将之插入到程序中。图10-22展开的命令分别为:基本命令、任务命令、程序结构、通信、单轴命令、编码器/测量输入和凸轮输出、同步命令及路径插补命令。
图10-21 空的MCC图
图10-22 MCC指令组
图10-23显示了如何用工具栏在程序中插入一个MCC命令。首先选中要插入MCC命令的位置,然后在工具栏中单击相应的命令即可。
图10-23 插入一个MCC指令
鼠标单击选择MCC命令,或拖动鼠标选择多个命令,可以进行复制、删除、剪切、粘贴操作。为了测试程序可以把一些命令隐藏起来,隐藏的命令不被执行。选择MCC命令,在快捷菜单中选择“Mask in”或“Mask out”可隐藏或还原该命令。
MCC程序的起始和终止节点用椭圆表示,条件跳转指令用菱形表示,其他的MCC命令用矩形块表示。MCC命令用图形符号表示命令的功能,不同颜色可以区分命令的类型。
1)浅蓝色:基本命令;
2)白色:子模块;
3)绿色:开始命令;
4)红色:停止命令。
所有的MCC命令都有相应的参数化窗口,双击该命令或者在快捷菜单中选择“Parame-terize Command”可以打开参数化窗口。在打开参数化窗口后,可以进行参数输入或者选择操作。如图10-24所示是一个典型的参数化窗口。
在窗口的最上端选择命令的操作对象,中部有几个标签,一般只需填写第一个标签pa-rameter中的内容,其他标签内容是可选的,或者有默认值。
窗口的下部是过渡行为设置和程序延时模式的设置,“Transition behavior”是指本命令承接上一个命令时采用的过渡方式,详细描述见表10-4。
图10-24 MCC命令参数化窗口
表10-4 MMC命令的过渡行为
“Delay program execution”是指当前指令满足何种条件时下一条指令方可执行,详细描述见表10-5。
表10-5 MMC命令的程序延时
MCC命令列表选择框提供了几个不同的选项,常用的选项如下:
1)Default:使用配置TO时的预设值。
2)Last programmed:上次的编程值用做参数值。
3)Last programmed velocity:只对速度有效。上次编程的速度值。
4)Current:只对速度有效,实际的轴的速度值用做参数值。可编辑输入框:可以在下拉列表框中选择某个选项,也可以直接输入值。单位:选择前面参数的单位。
5)配置TO时的物理单位。
6)参数默认值的百分比。
大部分运动控制命令的参数对话框中都包含了动态参数标签,可以指定速度曲线的类型以及相关的加速度、减速度和加加速度(见图10-25)。
图10-25 MCC命令的动态标签
大部分的运动控制命令都有Expert标签,不同的命令略有不同,其中可以设置
1)定义CommandID类型的变量,用于对命令监控;
2)影响参数对话框的配置数据和变量;
3)定义命令的返回值变量。
(4)MCC程序单元的编译
MCC图不能单独编译,必须与MCC程序单元中的其他MCC图一同编译。同MCC程序单元一样,MCC图也可以进行复制、剪切、粘贴和删除操作。还可以在项目中导入或导出MCC图。
可通过下面的方式编译MCC程序单元:
1)在MCC编辑器工具栏中选择编译按钮;
2)在菜单中选择“MCC Unit”→“accept and compile”或者“MCC chart”→“accept and compile”;
3)在项目浏览窗口中,右击要编译的程序单元,选择“accept and compile”;
4)编译的错误和报警信息显示在屏幕下方输出框的“Compile/check output”标签中,可以双击某错误信息来定位程序出错的地方,从而对程序进行修改。
(5)密码保护
可对编写好的MCC程序单元进行密码保护。选择MCC程序单元,单击鼠标右键,在弹出的菜单中选择“know-how protection for programs”→“set”。
在弹出的对话框中(见图10-26)设定登录名和密码并确认,设置完毕再次启动项目时密码起作用,再次打开此MCC程序单元需要输入之前设置的用户名和密码。
图10-26 MCC程序单元的加密设置
(6)导入、导出MCC程序单元
通过导入、导出操作可以把某个MCC源文件单独保存,并复制到其他项目中,导入格式有ST和XML两种。
1)把MCC程序单元导出成ST语言格式的文本文件:选择MCC程序单元鼠标右击选择“Export as ST”。
2)导入ST文本文件:右击“PROGRAM”文件夹选择“import external source”→“ST source”。
3)把MCC程序单元导出成XML文件:选择MCC程序单元右击“Expert”→“Save Project and Export Object”。
4)导入XML文件:选择MCC程序单元右击“Expert”→“Import Object”。
(7)编译器的全局设置和本地设置
可以对编译器的选项进行全局设置和本地设置。
1)全局设置:针对此项目中所有编程语言
选择“Options”→“Settings”,选择Compiler标签对编译器选项进行设置,如图10-27所示。
2)本地设置:只对本MCC程序单元的编译设置,可以覆盖掉全局设置
用鼠标右键单击MCC程序单元,选择属性,选择编译器标签修改设置,如图10-28所示。
编译器设置的选项说明如下:
图10-27 编译器的全局设置
图10-28 编译器的本地设置
1)选择编译器报警输出的范围Issue warnings:如果选中,报警输出设置使用全局设置中的设置;如果不选中,编译器根据报警等级选择输出报警信息。
2)报警等级Warning classes:只有在Suppress warnings未激活时有效,当选择时则编译器输出此等级的报警信息。
3)选择性链接Selective linking:如果选中则生成可执行程序时删除未使用的代码;如果未选中,则生成可执行程序时保留未使用的代码。
4)使用预处理器Use preprocessor。
5)使能程序状态Enable program status:如果选择则生成附加的程序代码来监控程序的变量。否则无法监控程序状态。
6)允许语言扩展Permit language extensions:如果选中则允许与IEC 61131-3不一致的语言。如果未选中则只运行符合IEC 61131-3的编程语言。
7)只生成程序实例一次Only create program instance data once:选中:程序的本地变量只在程序的用户存储区中存储一次。如果未选中则程序的本地变量存储在相应的任务的用户存储器中。(www.xing528.com)
8)使能OPC-XML Enable OPC-XML。
9)允许单步执行Permit single step:如果选中则产生额外的代码使能程序的单步监控。
3.LAD编程语言
LAD是梯形图逻辑的缩写,也是一种图形化的编程语言。与PLC中梯形图编程类似,所以如果有PLC的编程基础,那么这种编程方式就非常易于理解,上手也比较快。LAD可以跟踪输入、输出和运行时的信号流。LAD程序运行时遵循布尔逻辑的规则,把各种元素以图形化的方式组成网络(符合IEC 61131-3),如图10-29所示。
图10-29 LAD网络图
LAD图也可以用FBD图来表示,FBD是功能块图(Function Block Diagram)的缩写,也是一种图形化的编程语言。可以使用相同的布尔代数来表达逻辑运算(符合IEC 61131-3)。复杂的功能(比如数学函数)也可以直接通过连接逻辑块来表达,如图10-30所示。
图10-30 FBD网络图
LAD、FBD编程包是SIMOTION软件的一个组成部分,所以安装完SIMOTION软件后就可以使用LAD、FBD的编辑、编译、测试功能了。
LAD/FBD编辑器的界面与MCC编辑器类似,分为5个部分,分别为项目导航栏、菜单、工具栏、状态栏和工作区,如图10-31所示。
图10-31 LAD编辑器的界面
与MCC类似,通过菜单“Options”→“Settings”,在LAD/FBD editor标签下,可以改变LAD/FBD编辑器的属性,如图10-32所示。
在此对话框里可以设置以下内容:
1)程序表达式的标准语言:LAD或FBD
2)“On-the fly”变量声明:如果激活,当在LAD/FBD程序中输入一个未知符号时,会弹出一个对话框,用户可在此对话框中声明变量。
3)Only known types for type specification:如果激活,只有那些在“Connections”中连接的功能块会出现在数据类型列表中。
4)Automatic symbol check and type update:如果激活,在项目里的LAD/FBD程序中,会自动进行符号检查和类型更新。此选项默认激活。
5)Format for status display:选择在程序中变量的数据类型以什么进制来显示,可选择二进制、十进制或十六进制,默认为十进制显示。
6)Fonts and colors:单击此按钮可修改LAD/FBD编辑器中的字体和颜色。
4.LAD/FBD程序单元和LAD/FBD程序
LAD/FBD程序单元位于项目导航栏中SIMOTION设备的Programs文件夹下,是进行编译的最小单位。LAD/FBD程序位于LAD/FBD程序单元下(包括程序Program,功能FC或功能块FB),位于项目导航栏的LAD/FBD程序单元下,如图10-33所示。一个LAD/FBD程序单元可以包含多个LAD/FBD程序。
图10-32 LAD/FBD编辑器的设置
图10-33 LAD/FBD程序单元和程序
使用LAD/FBD编程步骤如下:
(1)插入LAD/FBD程序单元
可以使用如下方法插入程序单元:
1)在导航栏中,PROGRAMS文件夹下双击“Insert LAD/FBD unit”。
2)选择“PROGRAMS”文件夹,通过菜单选择“Paste”→“Program”→“LAD/FBD unit”。
3)右击PROGRAMS文件夹,通过右键菜单选择“Insert new object”→“LAD/FBD unit”。
在弹出的对话框(见图10-34)中输入LAD/FBD程序单元的名称,名称由字母(A~Z,a~z),数字(0~9),或下划线组成,但是必须是字母或下划线开始,不区分大小写,最多128个字符。名称在此SIMOTION设备中必须是唯一的,以示区分;还可以输入作者或者版本信息。如果有必要,选择编译器标签对源文件的编译器进行设置。
图10-34 插入LAD/FBD程序单元
(2)插入LAD/FBD程序
可以用下列方法插入一个LAD/FBD程序:
1)在项目导航栏中在LAD/FBD程序单元下双击插入LAD/FBD程序。
2)菜单中选择“Paste”→“Program”→“LAD/FBD program”。
3)右击LAD/FBD源文件选择“Insert new object”→“LAD/FBD program”。
在弹出的对话框(见图10-35)中输入LAD/FBD程序的名称,名称的命名原则同LAD/FBD程序单元。选择插入的LAD/FBD program的类型是程序、功能或是功能块。如果要使程序能在其他的程序中使用则要选择“Exportable”复选框,还可以输入作者或者版本信息。
LAD/FBD程序不能单独编译,必须与LAD/FBD程序单元中的其他LAD/FBD程序一同编译。同LAD/FBD程序单元一样,LAD/FBD程序也可以进行复制、剪切、粘贴和删除操作。
(3)编译LAD/FBD程序单元
可以使用如下方法编译LAD/FBD程序单元:
1)在LAD/FBD编辑器工具栏中选择编译按钮。
2)在菜单中选择“LAD/FBD Unit”→“accept and compile”或者“LAD/FBD program”→“Accept and compile”,如图10-36所示。
3)在项目浏览窗口中,右击要编译的程序单元,选择“accept and compile”编译的错误和报警信息显示在屏幕下方输出框的Compile/check output标签中,可以双击某错误信息来定位程序出错的地方,从而对程序进行修改。
(4)密码保护
可对编写好的LAD/FBD程序单元进行密码保护。右击LAD/FBD程序单元,在弹出的菜单中选择“know-how protection for programs”→“set”,如图10-37所示。
在弹出的对话框中设定登录名和密码并确认,如图10-38所示。设置完毕再次启动项目时密码起作用,如果再次打开此LAD/FBD程序单元需要输入之前设置的用户名和密码。
图10-35 LAD/FBD程序对话框
(5)文件的导入导出
通过导入/导出操作可以把某个LAD/FBD程序单元单独保存,并复制到其他项目中。
1)把LAD/FBD程序单元导出成XML文件。
图10-36 编译LAD/FBD程序
图10-37 密码保护
图10-38 设置登录名和密码
选择菜单“Expert”→“Save Project and Export Object”或者“Project”→“Save and export”。然后选择XML格式,单击“OK”按钮确认。
2)导入XML文件。
选择菜单“Expert”→“Import Object”,选择要导入的XML文件,单击“OK”按钮确认。
3)以XML文件格式导出POU。
在项目导航栏中选中将要导出的POU,选择菜单Export as XML,选择文件路径并单击“OK”按钮确认。
4)以XML文件格式导入POU。
在项目导航栏中选中程序“PROGRAM”或“LAD/FBD”单元,选择“Import object”菜单,选择XML数据格式并单击“OK”按钮确认。
5)把LAD/FBD程序单元导出成EXP格式。
在项目导航栏中选中将要导出的程序单元。选择菜单“Experts”→“Export as.EXP”。
6)把EXP数据导入LAD/FBD程序单元。
在项目导航栏中选择所需LAD/FBD程序,选择菜单“Expert”→“Import from.EXP”,选中EXP文件,然后导入。
(6)定义LAD/FBD程序单元属性
打开“PROGRAMS”文件夹,选中所需的“LAD/FBD”,选择“Edit”→“Object Properties”菜单命令,将出现图10-39所示属性画面。图中各个标签的说明如下:
1)General标签:程序单元的一般信息,如作者、版本、时间戳、保存路径以及备注等。
2)Compiler标签:编译器的本地设置,用于生成代码和信息显示。
3)Additional settings标签:按照当前编译器设置显示编译器选项。
4)Compilation标签:显示上次LAD/FBD unit的编译器选项。
5)Object address标签:设置LAD/FBD unit内部对象地址。
(7)编译器的全局设置和本地设置
全局设置:针对此项目中所有编程语言,选择菜单“Tools”→“Settings”,再选择“Compiler”选项卡。勾选所需选项,单击“OK”按钮确认。
设置LAD/FBD本地编译器:用鼠标右键单击LAD/FBD程序单元,选择属性“Proper-ties”选项,然后选择“Compiler”选项。
具体设置与MCC设置类似,此处不再赘述。
5.ST编程
ST编程语言是一种高级的,基于PASCAL的编程语言。ST为Structured Text(结构化文本)的缩写,结构化文本是IEC11313的一种高级语言。
使用ST高级编程语言来管理控制系统,可以为用户带来广泛的可能性,比如:
1)数据管理;
2)过程优化;
3)数学/统计计算。
ST语言工作界面分为5个部分,分别为菜单栏、工具栏、项目导航栏、工作区和状态栏;如图10-40所示。
(1)插入ST程序单元
图10-39 LAD/FBD程序单元属性
图10-40 ST语言工作界面
可以用以下几种方式插入ST程序单元:
1)在项目导航栏中,“PROGRAMS”文件夹下双击“Insert ST source file”。
2)选择“PROGRAMS”文件夹,通过菜单选择“Paste”→“Program”→“ST source file”。
3)右击“PROGRAMS”文件夹,通过右键菜单选择“Insert new object”→“ST source file”。
在弹出的对话框(见图10-41)中输入ST程序单元的名称,名称由字母(A~Z,a~z),数字(0~9),或下划线组成,但是必须是字母或下划线开始,不区分大小写,最多128个字符。此外,名称在此SIMOTION设备中必须是唯一的,以示区分。另外,还可以输入作者或者版本信息。如果有必要,选择编译器标签对程序单元的编译器进行设置。
(2)设置ST编辑器
选择菜单“Tools”→“Settings”,选择“ST editor/scripting”选项卡,输入设置,然后单击“OK”按钮确认。
图10-42所示编辑器设置说明如下:
1)Display line numbering:如果选中,则显示ST语言编程的行号。
2)Replace tabs with blanks:如果选中,则会填充适当的空格以保持上下文整齐。
3)Tab width:设置字符的宽度。
4)Tooltip display for function parameters:如果选中,则功能中的参数会显示工具提示。
图10-41 插入ST程序单元
图10-42 编辑器设置
5)Automatic indent/outdent:如果选中,输入程序文本时会自动缩进。
6)Folding active:如果选中,则在编辑区左边显示折叠信息,可以隐藏程序块,只显示程序块的首行。
7)Display indentation level:如果选中,用户可使用垂直帮助线来高亮缩进。
8)Display pairs of brackets:如果选中,则相关的括号会被高亮显示。
9)Font:设置ST语言文本的字体。
10)Font size:设置ST语言文本的字体大小。
11)Format for status display:设置程序中的变量数据类型,默认为二进制。
(3)编译器的全局设置和本地设置
全局设置:针对此项目中所有编程语言,选择菜单“Tools”→“Settings”,选择“Compiler”选项卡。勾选所需选项,单击“OK”按钮确认。
设置ST本地编译器:右键单击ST程序单元,选择属性“Properties”选项或通过鼠标单击菜单“Edit”→“Object properties”,在出现的画面中选择“Compiler”选项。
具体设置与MCC设置类似,此处不再赘述。
(4)文件的导入导出
通过导入/导出操作可以把某个ST程序单元单独保存,并复制到其他项目中。
1)作为ASCII文件导出ST程序单元
打开ST程序单元,确保光标在ST编辑器内。选择“ST source file”→“Export”菜单命令,输入保存ASCII文件路径和文件名,单击“OK”按钮确认。ST源文件保存为ASCII文件,默认后缀名为.st。
2)以XML格式导出ST源文件
在项目导航栏中选择ST源文件。选择下拉菜单“Expert”→“Save project and export object”,选择以XML格式保存路径,单击“OK”按钮确认。
3)把文本文件(ASCII)导入成ST程序单元
选择“PROGRAMS”文件夹,选择菜单“Paste”→“External source”→“ST source file”,选择将要导入的ASCII文件,单击“Open”确认。输入ST程序单元名称及附加选项,完成ASCII文件的导入操作。
4)把XML数据导入ST程序单元
选择PROGRAMS文件夹,选择菜单“Expert”→“Import object”,选择将要导入的XML文件,单击“Open”确认。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。