直接跳到内容
  1. Home >
  2. 快速入门>
  3. 编写第一个程序

编写第一个程序

第一个程序的内容

在本向导中,您将编写一个简单的“跑马灯”(输出点按照指定间隔轮流点亮)控制程序。

  • 用户预先设定轮流点亮的周期,并可在逻辑控制过程中实时修改。
  • 通过打开一个开关量变量(给一个开关变量置1)来启动输出轮流点亮功能,关闭该开关变量(给该开关变量置0)后,输出轮流点亮状态自动复位。
  • 输出点关联输出变量区的第一个字节,每一位将对应一个信号灯。

创建工程并选择PLC设备

  1. 单击文件新建,或快捷工具栏中的新建按钮。
  2. 新建工程对话框控制器型号视图中,选择“PLC x64 Win”控制器型号。

img

  1. 指定工程名称和存储位置后,点击确定。
  2. 选择工程模板对话框的模板视图中,选择标准工程并点击确定。

img

  1. 设备信息 对话框中的设备列表框中,输入设备名称,在PLC_PRG列表框中,选择*梯形逻辑图(LD)*并点击确定。

img

  1. 工程在AnyControl框架窗口中打开。

在框架窗口左侧的工程管理树视图中,您将会看到设备树的视图:根节点为工程名称,其子节点为PLC设备,已经按照您输入的设备名称新建了PLC设备。

img

在LD编辑器中创建控制逻辑的主程序

  1. 在工程管理树中双击PLC_PRG,打开LD编辑器。

变量编辑区以表格的形式显示在图形编辑器的上方,工具箱视图位于右侧。

img

  1. 点击工具箱中的触点并拖动到图形编辑器的网络中,即可添加触点,添加后双击触点上方的 “???” 文本,输入“start”后回车,会弹出变量自动声明对话框,选择BOOL数据类型,完成新建。

img

img

  1. 选择工具箱中LD-块元件结点,并拖动至图形编辑器的网络中,如下图所示网络中将会把所有可以组态的位置以红色的箭头表示,拖动到您需要组态的箭头位置,箭头会变成蓝色,松开鼠标左键即可完成元素添加。

img

  1. 添加块之后,双击块元件中的AND,修改为MOVE块,完成对tmp变量的初始化操作。

img

  1. 选中start触点,选择右键菜单中的边沿检测,设置为上升沿触发。

img img

  1. 选中0001网络点击右键,选择菜单中的插入注释元件,可以针对本网络的编写注释。

img img

  1. 在LD 图形编辑器空白位置点击右键,选择插入网络,新增0002编号空网络,增加触点并关联start变量,选择算法库-定时器-TON结点,并拖动至图形编辑器的网络中,添加TON功能块后同样会自动弹出变量声明窗口,点击确定完成TON功能块调用。

img

img

  1. PT输入引脚定义变量interval,初始值为T#1s,作为您控制轮询周期控制变量,您可在调试程序过程中实时修改该周期,ET变量方便您观察当前经过的时间,如果不需要,可以不对该输出引脚定义变量,将引脚内容清空即可实现不用定义变量效果。

img

  1. 选中TON块元件单击鼠标右键,选择右键菜单的插入线圈指令,插入块后双击线圈中的???,定义变量Y0。

img

  1. 选中TON块元件选择右键菜单下的插入触点->插入左取反触点,并关联TON_inst0的输出变量Q。

img

  1. 以上针对组态逻辑的常用操作进行了介绍,组态后完整的LD逻辑如下图所示。

img

编译工程

程序编写完成后,需要对工程进行编译,点击编译->编译菜单项,即可触发工程编译。

编译菜单中列出了工程中支持的一些编译选项,包括:调试模式、除零保护、数组越界保护、逻辑强制,如果您希望对程序进行断点单步调试则需要勾选调试模式,如果需要进行变量的逻辑强制操作(逻辑强制介绍参见强制章节),则需要勾选逻辑强制; 其他选项您可按需勾选。

img

编译信息窗口会将本次编译的相关信息输出,如果逻辑存在错误,会在此处列出错误内容及错误号,您可以进行双击定位到错误位置。

img

编译正确后,即可对程序进行下装、调试等操作。

通信配置

启动PLC

进行下装、调试等操作前,需要确保AnyControl和PLC控制器通讯链路配置和连接正确,且PLC控制器启动正常。

1、如果是在实际的PLC硬件上调试程序,那么就需要将PLC网口和AnyControl所在PC网口连接,且需要设置PC网口与PLC控制器同一网段,例如PLC控制器的IP为192.168.0.250,那么PC网口就需要设置为192.168.0.XXX(XXX:1~254,但不能和PLC控制器IP相同);

2、如果没有实际的PLC硬件,可以启动仿真模式调试程序,启动仿真方法:菜单/仿真模式;

img

定义通讯参数

双击工程管理树的Simulate_Device结点,打开视图中选择通讯设置选项卡,您也可以通过在线->通讯参数设置菜单项打开通讯设置页面。(仿真模式下通讯参数不用配置)

imgimg

您可以手动输入控制器IP地址、端口等信息;您也可以通过网络扫描功能,选择您需要连接PLC设备的网卡,扫描后可查看指定网段内的所有PLC设备,双击希望连接的PLC设备,其通讯参数会自动设置到通讯配置栏中。

程序下装

要求:该程序已正确编译。

  1. 单击在线->下装或快捷工具栏中的下装按钮。

    => 将打开下装确认提示框,会提示您可以进行的下装类型,您可以选择您希望的下装类型进行下装。

    初次下装时提示信息如下:

img

修改逻辑后会自动触发增量下装:

img

  1. 点击确定按钮后,开始下装操作,点击取消将结束本次下装。

下装操作的相关信息会在在线信息窗口中进行提示,您也可以通过操作日志查看相关信息。

img

程序调试

程序正确下装后,可以单击在线->登入菜单或快捷工具栏中的登入按钮,程序将进入在线监视状态,您可以针对工程逻辑进行断点调试(需在编译时勾选调试模式)或对逻辑中的变量进行单个/批量写入等操作。

在线视图

程序在线界面如下图所示,工程管理树的Simulate_Device结点会显示控制器状态及连接信息,状态栏会根据当前控制器运行状态进行周期闪烁,蓝绿交替表示控制器正常运行,蓝红交替则表示控制器停止运行(用户手动停止或控制器状态异常)。

img

运行时监视

在工程管理树中,双击PLC_PRG对象结点,打开编辑器的在线视图。

=> 视图的变量声明部分,控制器变量的实时值会出现在在线值列中,如果您希望对变量进行在线写入,则双击准备值列对应单元格,可以输入写入值信息,如果输入值非法则会清除已输入内容,输入正确后待写入的数值会出现在准备值列中

img

=> 逻辑编辑部分取决于实现语言的不同形式略有区别。

  • 对于图形语言在线值始终出现在变量左/右侧的矩形方框中,对于布尔变量输出连接线会按照在线值颜色显示(黑色表示FALSE,蓝色表示TRUE)。
  • 对于文本语言在线值会将本行中使用的变量,在逻辑下一行中以变量名在线值 的形式依次列出,详情参见ST及IL相关章节。

您也可以将不同POU、全局变量组中的变量统一放到监视列表中进行查看与调试。

img

变量值写入

变量值写入可以在变量声明区,双击准备值单元格输入待写入值,输入后作为待写入数值记录在变量中,您完成若干变量的写入值输入后,通过调试->写入菜单即可完成批量写入。

您也可以在逻辑编辑部分双击变量所在位置,将弹出准备值对话框,在对话框中您同样可以针对变量在线值进行编辑,编辑完成点击确定按钮,输入非法时系统会给出相应提示。准备值对话框确认后默认立即写入,如果您希望稍后与其他变量批量写入,请将写入立即生效选项取消。

img img

运行时设置断点与单步执行

调试:为了排查程序逻辑,您可以在程序中设置断点,并进行单步调试。断点调试方法详见:断点调试

  1. 选中PLC_PRG中的0001网络,单击调试->新建/删除断点或使用快捷键F9,可以在该网络设置断点,设置后网络左侧会显示img图标。

如果该断点命中则显示img,断点命中时该任务状态显示为调试状态。

img

img

  1. 断点命中后,您可以通过快捷F5或点击调试->运行到下一个断点菜单,程序将在执行一周期后重新在0001网络处中断。
  2. 断点命中后,您可以通过使用快捷F8或点击调试->跳入菜单,程序将执行一个最小逻辑单元,执行位置使用img进行标记。

img

  1. 您可以反复使用快捷F8或点击调试->跳入菜单,对程序进行单步调试,查看程序是如何执行的,执行位置使用img进行标记。

5.如果您希望返回正常执行,则选中已设置断点的网络单击调试->新建/删除断点或使用快捷键F9,可以取消该断点;或您可以单击调试->删除所有断点菜单,可以将工程中设置的断点一次性全部取消,之后执行快捷F5或点击调试->运行到下一个断点菜单,程序将继续正常执行,任务状态恢复正常运行状态。

6.最后实现的跑马灯效果与预期一致,也就预示着您编写成功了第一个程序。

编写第一个程序已经加载完毕