2.1.3 编写程序
(1) 建立、保存和打开项目文件
项目文件类似于文件夹,程序块、符号表、状态表、数据块等都被包含在该项目文件中。项目文件的扩展名为.mwp,要用STEP 7-Micro/WIN软件才能打开。
建立项目文件的操作方法是:单击工具栏上的“”图标,或执行菜单命令“文件”→“新建”,即新建一个文件名为“项目1”的项目文件。
如果要保存项目文件并更改文件名,可单击工具栏上的“”图标,或执行菜单命令“文件”→“保存”,弹出“另存为”对话框,如图2-10所示。在该对话框中选择项目文件的保存路径并输入文件名,单击“保存”按钮,就将项目文件保存下来,在软件窗口的“指令树”区域上部显示文件名和保存路径,如图2-11所示。
图2-10 保存文件对话框
图2-11 指令树区域显示的文件名及路径
如果要打开其他项目文件进行编辑,可单击工具栏上的“”图标,或执行菜单命令“文件”→“打开”,会弹出“打开”对话框,在该对话框中选择要打开的项目文件,再单击“打开”按钮,选择的文件即被打开。
(2)编写程序
① 进入主程序编辑状态 如果要编写程序,STEP 7-Micro/WIN软件的程序编辑区应为主程序编辑状态,如图2-5所示;如果未处于主程序编辑状态,可在“指令树”区域选择“程序块”→“主程序(OB1)”,如图2-12所示,即能将程序编辑区切换为主程序编辑状态。
图2-12 在指令树区域打开主程序编辑区
② 设置PLC类型 S7-200 PLC类型很多,功能有一定的差距,为了使编写的程序适合当前使用的PLC,在编写程序前需要设置PLC类型。
设置PLC类型的方法是:执行菜单命令“PLC”→“类型”,弹出图2-13所示的“PLC类型”对话框,在该对话框中选择当前使用的PLC类型和版本;如果不知道当前使用的PLC类型和版本,可单击“读取PLC”按钮,软件会以通信的方式从连接的PLC中读取类型和版本信息;如果无法读取这些信息,可单击“通信”按钮,会弹出图2-9(a)所示的对话框,按前述方法对该对话框进行设置并双击“双击刷新”,对PLC进行通信操作。设置好PLC类型后,单击“确认”按钮关闭对话框,指令树区域的CPU变成设定的类型,如图2-14所示。如果设定的PLC类型与使用的PLC类型不一致,则程序无法下载到PLC,或PLC可能会工作不正常。
图2-13 设置PLC类型
图2-14 指令树区域显示PLC类型
③ 编写程序 下面以编写图2-15所示的梯形图为例来说明程序的编写方法。
图2-15 要编写的梯形图
程序编写过程如下:
a.将鼠标在程序编辑区起始处单击,定位编程元件的位置,再打开指令树区域指令项下的“位逻辑”,单击其中的常开触点,如图2-16(a)所示,即在程序编辑区定位框处插入一个常开触点,定位框自动后移,如图2-16(b)所示。用同样的方法放置两个常闭触点和一个输出线圈,分别如图2-17和图2-18所示。
图2-16 放置常开触点
图2-17 放置常闭触点
图2-18 放置线圈
b.在网络1的第二行起始处插入一个常开触点,然后选中该触点,单击工具栏上的“”(向上连线)按钮,将触点与第一行连接起来,如图2-19所示。选中第一行的第3个触点(常闭触点),单击工具栏上的“”(向下连线)按钮,在该触点连接一个向下线,如图2-20所示。打开指令树区域指令项下的定时器,双击其中的“TON”(接通延时定时器),在编辑区插入一个定时器元件,如图2-21所示。
图2-19 放置向上连线
图2-20 放置向下连线
图2-21 放置定时器
c.在网络2中插入一个常开触点和一个输出线圈,如图2-22所示。一个网络的电路只允许有一个独立的电路,若出现两个独立电路,则编译时会出“无效网络或网络太复杂无法编译”。
图2-22 在网络2中放置常开触点和线圈
d.在网络1的第一个常开触点上方“??.?”处单击,该内容处于可编辑状态,输入该触点的名称“i0.0”,回车后,该触点名称变为“I0.0”,用同样的方法对其他元件进行命名,结果如图2-23所示。注意:当定时器命名为“T37”时,其时间单位自动变为100ms,定时时间“50”需要人工输入,该定时器的定时时间为50×100ms=5000ms=5s。
至此,程序编写完成。
图2-23 给元件输入名称及参数
(3)编译程序
在将编写的梯形图程序传送给PLC前,需要先对梯形图程序进行编译,将它转换成PLC能接受的代码。程序编译方法是:执行菜单命令“PLC”→“全部编译”或“编译”,也可单击工具栏上的“”(全部编译)或“”(编译),就可以编译全部程序或当前打开的程序,编译完成后,在软件窗口下方的输出窗口出现编译信息,如图2-24所示。如果编写的程序出现错误,编译时在输出窗口会出现错误提示,如图2-25所示,将程序中的常闭触点I0.1删除,编译时会出现错误提示,并指示错误位置,双击错误提示,程序编辑区的定位框会跳至程序出错位置。
图2-24 无错误的编译信息
图2-25 提示有错误的编译信息