在变量定义窗口,可以定义多种类型的变量,
如布尔、整型/实型、定时器等。首先定义布尔型变量,定义第一个输入信号,其名称为“di7_0”。该信号对控制系统来说是输入变量,但在这里要定义成“内部变量”。在此窗口还有其他属性可定义,包括初始值、断电保存等。变量定义完成后,要单击“存储”按钮以保存定义。这样再依次定义其他输入变量,变量定义如图
输入变量定义完成后,再定义输出变量,这里采用快速定义方法。单击快捷声明图标,弹出如图
其中变量名称为“do7_”,变量从0到7,这组变量也要定义成内部变量。单击“确认”按钮。再定义几个内部变量,定义完成后的布尔变量如图
内部变量定义完成后,再定义定时器变量。定义了两个定时器变量,分别存储定时器的当前值和设定数值。定时器定义窗口如图
编写程序
变量定义完成后,可以编写程序。单击图标或菜单中的“文件→新建”,会出现标题为“新程序”的窗口,在这个窗口,可以给出程序的名字、注释、程序开发语言及样式等,如图
单击“确认”按钮。梯形图的编辑与可编程控制器编程很相似,这里不再详细说明,编写完成的梯形图程序如图示。
需要说明的是,泓格公司为其“I-7000”编写了与ISaGRAF连接的接口作为功能块调用,这也是为什么前面在变量定义时,把“I-7050D”的输入和输出变量都定义为内部变量的原因。对于泓格其他的I/O模块,泓格也开发了驱动程序作为功能块在ISaGRAF中可以调用。这里需要注意的是,对于嵌入式控制器自带的I/O点,则必须定义成输入或输出,不能定义成内部变量,下面作具体介绍。
I/O变量连接
假设7188EG选配了扩展模块X107,它具有6路DI与7路DO,并定义了1个输入I_EGDI0,定义1个输出变量I_EGDO0。
对程序中使用的I-7000设备,必须在非0插槽安装设备“bus7000:I-7000Ios On Com3 or Com4”。本程序在插槽“0”安装了该设备。
单击程序窗口中的图标,会出现如图7.16所示的I/O连接窗口,在该窗口中用鼠标单击左面的插槽“0”,再双击鼠标左键,会出现“选择板/设备”窗口。在该窗口中选择设备“x107:6DI&7DO for the 7188XG/EG”。单击“确定”按钮退出该窗口。安装了两个设备的I/O连接窗口如图
单击窗口左边“0”槽的DI6,在窗口的右边显示了6个输入端子,再单击或按钮会弹出新的窗口,其标题为“连接I/O通道#1”,选用其中列出的希望与该模块通道1连接的变量,单击“连接”按钮,即完成了该变量的连接,如图7.18所示。按照同样的方法,可以将其他定义的I/O变量与相应硬件的I/O通道连接。对I-7000设备,单击“remot”按钮,会在窗口的右边弹出参数,进行通信参数、WATCHDOG等的设置。
译程序
选择菜单中的“制作→编译器选项”选项,弹出如图所示的窗口,并按照其显示作设置。需要说明的是,对泓格的控制器,必须做这样的设置,否则,可能不能正常工作。编译过程如有错误,会有提示。这时可以根据提示查找错误,直到消除所有语法错误,编译才能通过。
ISaGRAF有强大的仿真调试功能。单击菜单中的“调试→仿真”按钮,会有3个窗口出现,它们是“调试器”、“调试程序”及“I/O仿真”。单击“调试程序窗口”中的程序名,“快捷LD程序”窗口将会出现。如图所示,程序中变量的状态从其颜色可以看出,红色表示处于接通状态。在“I/O仿真”窗口中,输入和输出变量的状态也有显示,输入有效为绿色;而输出中,红色表示输出有效(“1”)。可以通过单击输入来改变输入的状态,从而调试程序的逻辑。在仿真调试中,还可以改变如定时器等设备的参数,如其定时时间,可以启动/停止它等。通过仿真调试,可以发现程序设计中存在的逻辑错误等问题,而这些问题在编译中是发现不了的。不断进行仿真调试和修改,直到程序的运行结果达到设计要求。最后,可以停止仿真调试,下载调试好的程序,让嵌入式控制器独立运行编写的程序。