首页 理论教育 局部变量的声明方式及其便利性

局部变量的声明方式及其便利性

时间:2023-07-02 理论教育 版权反馈
【摘要】:局部变量在程序内部的PROGRAM段内声明,仅供本程序使用,无法被其他程序或程序单元访问,其声明格式与全局变量相同。MCC程序单元中的全局变量在数据表格中声明,变量声明的位置与ST语言是一致的。这种声明变量的方式非常方便。图3-28 MCC程序单元中声明变量图3-29 连接需访问变量的程序单元图3-30 本项目无局部变量图3-31 在LAD/FBD程序单元中声明变量

局部变量的声明方式及其便利性

在编写程序之前,需要声明变量。SIMOTION设备中的变量分为系统变量、全局变量和局部变量,如图3-26所示。其中系统变量在TO创建完成后由系统自动生成,比如轴TO的运行状态等。全局变量包括IO变量、设备全局变量和程序单元变量,其中IO变量可以通过SCOUT软件中的ADDRESS LIST来创建,设备全局变量可以通过GLOBAL DEVICE VARI-ABLES来创建(本项目中没有使用),而程序单元变量需要在程序单元中创建,可以在程序单元内使用。一个程序单元中的全局变量通过互联,也可以用于其他程序单元。局部变量在单个程序中创建,只可以在本程序中使用。

1.创建IO变量

在SCOUT软件中,用鼠标双击“D435”下的“ADDRESS LIST”,即可在软件下半窗口中配置全局的IO变量。在Name列输入变量名称,在I/O address一列指定输入输出类型以后,就可以直接在Assignment列单击978-7-111-43580-8-Chapter03-34.jpg按钮浏览到系统中的IO变量。本项目中的IO变量配置如图3-27所示。其中iboEject为空盒子传感器的DI信号,iboProtDoor为安全门的DI信号,iboStartBelt为生产线启动的DI信号。

978-7-111-43580-8-Chapter03-35.jpg

图3-26 SIMOTION程序中变量的分类

978-7-111-43580-8-Chapter03-36.jpg

图3-27 创建IO变量

2.创建程序单元变量和局部变量

根据编程语言的不同,程序单元变量的创建方式也不同。

(1)在ST语言中的声明变量

使用ST语言时,可以在INTERFACE段声明全局变量,其格式如下:

变量名:数据类型(:=初始值);

比如pDefInit程序单元中一个名称为gboProgEnd的布尔型变量,需要按以下格式声明:

978-7-111-43580-8-Chapter03-37.jpg

这里声明的全局变量只能在本程序单元中使用。如果需要在其他程序单元中访问这些变量,那么需要在其他程序的INTERFACE段内添加USES语句,比如在pHMIaus程序单元中就有这样的语句,其格式如下:

978-7-111-43580-8-Chapter03-38.jpg

另外,在程序中IMPLEMENTATION段也可以声明全局变量,这里声明的变量只能在本程序单元中使用,无法被其他程序单元访问,在本项目中并没有在IMPLEMENTATION段中声明全局变量。

局部变量在程序内部的PROGRAM段内声明,仅供本程序使用,无法被其他程序或程序单元访问,其声明格式与全局变量相同。本项目中也没有在PROGRAM段声明局部变量。(www.xing528.com)

(2)在MCC程序单元中声明变量

在SCOUT软件中,依次打开“D435”→“PROGRAM”,用鼠标双击其中的“Insert MCC Unit”即可插入一个程序单元,此时在右侧的窗口中可以定义本程序单元的全局变量。

MCC程序单元中的全局变量在数据表格中声明,变量声明的位置与ST语言是一致的。如果是全局变量,并希望被其他程序单元访问,那么变量在INTERFACE中声明,如果不希望被其他程序单元访问,那么变量在IMPLEMENTATION中声明。比如在pProtDoor程序单元中定义了如图3-28所示的全局变量。

如果要访问其他程序单元的变量,只需要在INTERFACE段的Connections选项卡下进行连接即可,这与ST语言中使用USES语句的功能相同。比如在pAuto程序单元中要引用在ST程序pDefInit中定义的全局变量,那么可按图3-29所示的方法进行访问。

在每个程序单元里都有一个插入程序的选项,比如在pAuto程序单元中用鼠标双击“Insert MCC Chart”即可以在右侧窗口中打开程序的主编辑界面。在顶部的表格里,可以声明本程序的局部变量,比如在图3-30中978-7-111-43580-8-Chapter03-39.jpg选项卡下,将变量名称、数据类型和初始值填入表格即可,本项目中没有定义局部变量。

(3)在LAD/FBD程序单元中声明变量

LAD/FBD程序单元中声明变量的操作与MCC类似,这里不再赘述。

此外,在LAD/FBD或MCC程序编辑窗口中也可以直接声明不存在的变量,这个功能称为“on-the-fly”variable declaration功能,即变量随时声明功能。比如在pLADFBD()程序中,将局部变量boResult修改为boResult1,此时系统会自动弹出一个变量boResult1的声明窗口,如图3-31所示,在这里可选择数据类型和变量类型等。这种声明变量的方式非常方便。

978-7-111-43580-8-Chapter03-40.jpg

图3-28 MCC程序单元中声明变量

978-7-111-43580-8-Chapter03-41.jpg

图3-29 连接需访问变量的程序单元

978-7-111-43580-8-Chapter03-42.jpg

图3-30 本项目无局部变量

978-7-111-43580-8-Chapter03-43.jpg

图3-31 在LAD/FBD程序单元中声明变量

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈