06.08.2013 Views

VLadder 编程软件使用手册V1.2

VLadder 编程软件使用手册V1.2

VLadder 编程软件使用手册V1.2

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

V80 系列可编程控制器<br />

<strong>VLadder</strong> 编程软件<br />

使用手册 V1.2<br />

德维森科技(深圳)有限公司<br />

地址:深圳市南山区高新区科技南 12 路中电照明中心北二楼<br />

邮编:518057<br />

电话:0755-26715433,0755-26715552<br />

传真:0755-26715422<br />

网址:http://www.techwayson.com


目 录<br />

第一部分 编程软件 .......................................................................................................................................1<br />

§1. 系统需求 ..................................................................................................................................................1<br />

§1-1 操作系统........................................................................................................................................1<br />

§1-2 硬件需求........................................................................................................................................1<br />

§2. 功能概述 ..................................................................................................................................................1<br />

§2-1 一般特点........................................................................................................................................1<br />

§2-2 程序编辑........................................................................................................................................1<br />

§2-3 程序测试........................................................................................................................................1<br />

§2-4 程序注释........................................................................................................................................1<br />

§3. 工作窗口 ..................................................................................................................................................2<br />

§4. 操作示例 ..................................................................................................................................................3<br />

§4-1 示例内容说明................................................................................................................................3<br />

§4-2 工程的建立....................................................................................................................................4<br />

§4-3 程序的输入与编辑........................................................................................................................5<br />

§4-5 程序测试........................................................................................................................................8<br />

§5. 其它功能说明 ........................................................................................................................................10<br />

§5-1 文件..............................................................................................................................................10<br />

§5-2 编辑..............................................................................................................................................10<br />

§5-3 搜索..............................................................................................................................................10<br />

§5-4 查看..............................................................................................................................................10<br />

§5-5 工程..............................................................................................................................................11<br />

§5-6 控制器..........................................................................................................................................11<br />

§5-7 工具..............................................................................................................................................11<br />

§5-8 窗口..............................................................................................................................................11<br />

§5-9 帮助..............................................................................................................................................11<br />

附录A 快速键功能速查 ............................................................................................................................12<br />

第二部分 指令手册 .....................................................................................................................................14<br />

§1. 基本应用指令 ......................................................................................................................................19<br />

§1-1 1.0 秒定时器(1.0 second timer).................................................................................................19<br />

§1-2 0.1 秒定时器(0.1 second timer).................................................................................................20<br />

§1-3 0.01 秒定时器(0.01 second timer).............................................................................................21<br />

§1-4 上数计数器(Up counter) ...........................................................................................................22<br />

§1-5 下数计数器(Down counter) ......................................................................................................23<br />

§2. 数学运算指令 ......................................................................................................................................24<br />

§2-1 4 位数十进制加法器.................................................................................................................24<br />

§2-2 4 位数十六进制加法器.............................................................................................................25<br />

§2-3 8 位数十进制加法器.................................................................................................................26<br />

§2-4 8 位数十六进制加法器.............................................................................................................27<br />

§2-5 浮点数加法器............................................................................................................................28<br />

<strong>VLadder</strong> 编程软件使用手册 i


§2-6 4 位数十进制减法器.................................................................................................................29<br />

§2-7 4 位数十六进制减法器.............................................................................................................30<br />

§2-8 8 位数十进制减法器.................................................................................................................31<br />

§2-9 8 位数十六进制减法器.............................................................................................................32<br />

§2-10 浮点数减法器..........................................................................................................................33<br />

§2-11 4 位数十进制乘法器(Long Word型) ................................................................................34<br />

§2-12 4 位数十六进制乘法器(Long Word型) ............................................................................35<br />

§2-13 4 位数十进制乘法器(Word型)..........................................................................................36<br />

§2-14 4 位数十六进制乘法器(Word型)......................................................................................37<br />

§2-15 8 位数十进制乘法器(Long Word型) ................................................................................38<br />

§2-16 8 位数十六进制乘法器(Long Word型) ............................................................................39<br />

§2-17 浮点数乘法器..........................................................................................................................40<br />

§2-18 4 位数十进制除法器(Long Word型) ................................................................................41<br />

§2-19 4 位数十六进制除法器(Long Word型) ............................................................................42<br />

§2-20 4 位数十进制除法器(Word型)..........................................................................................43<br />

§2-21 4 位数十六进制除法器(Word型)......................................................................................44<br />

§2-22 8 位数十进制除法器(Long Word型) ................................................................................45<br />

§2-23 8 位数十六进制除法器(Long Word型) ............................................................................46<br />

§2-24 浮点数除法器..........................................................................................................................47<br />

§2-25 计算整数平方根......................................................................................................................48<br />

§2-26 计算浮点数平方根..................................................................................................................49<br />

§3. 表格数据处理指令..............................................................................................................................50<br />

§3-1 寄存器向表格的数据移动........................................................................................................50<br />

§3-2 表格向寄存器的数据移动........................................................................................................51<br />

§3-3 表格向表格的数据移动............................................................................................................52<br />

§3-4 表格数据的比较........................................................................................................................53<br />

§3-5 表格数据的查找........................................................................................................................54<br />

§3-6 表格数据的旋转/移动...............................................................................................................55<br />

§3-7 表格数据的互换........................................................................................................................56<br />

§3-8 区块数据的移动........................................................................................................................57<br />

§3-9 数据压入堆栈............................................................................................................................58<br />

§3-10 数据弹出堆栈..........................................................................................................................60<br />

§4. 逻辑运算指令 ......................................................................................................................................61<br />

§4-1 数组的“与”运算 ........................................................................................................................61<br />

§4-2 数组的“或”运算 ........................................................................................................................62<br />

§4-3 数组的“异或”运算 ....................................................................................................................63<br />

§4-4 数组的位取反运算....................................................................................................................64<br />

§5. 位处理指令 ..........................................................................................................................................65<br />

§5-1 数组的位比较............................................................................................................................65<br />

§5-2 数组的位旋转/移动...................................................................................................................66<br />

§5-3 数组的半字节旋转/移动...........................................................................................................67<br />

<strong>VLadder</strong> 编程软件使用手册 ii


§5-4 数组的位更改............................................................................................................................68<br />

§5-5 数组的位状态检测....................................................................................................................69<br />

§6. 数据格式转换指令..............................................................................................................................70<br />

§6-1 4->16 译码器 .............................................................................................................................70<br />

§6-2 16->4 编码器 .............................................................................................................................72<br />

§6-3 二进制数值转为BCD数值........................................................................................................73<br />

§6-4 BCD数值转成二进制数值........................................................................................................74<br />

§6-5 七段显示译码器........................................................................................................................75<br />

§6-6 字组(word)的分解/组合............................................................................................................77<br />

§6-7 整数转成浮点数........................................................................................................................78<br />

§6-8 浮点数转成整数........................................................................................................................79<br />

§7. 流程控制指令 ......................................................................................................................................80<br />

§7-1 跳转............................................................................................................................................80<br />

§7-2 跳转结束....................................................................................................................................81<br />

§7-3 调用子程序................................................................................................................................81<br />

§7-4 定义子程序................................................................................................................................83<br />

§7-5 子程序返回................................................................................................................................83<br />

§7-6 循环FOR指令 ............................................................................................................................84<br />

§7-7 循环NEXT指令 .........................................................................................................................85<br />

§7-8 主程序结束................................................................................................................................85<br />

§7-9 略过............................................................................................................................................86<br />

§7-10 流程控制..................................................................................................................................87<br />

§7-11 流程控制结束..........................................................................................................................88<br />

§8. 其它应用指令 ......................................................................................................................................89<br />

§8-1 初始化指针................................................................................................................................89<br />

§8-2 指针值递增................................................................................................................................90<br />

§8-3 指针加法器................................................................................................................................91<br />

§8-4 指针值递减................................................................................................................................92<br />

§8-5 指针减法器................................................................................................................................93<br />

§8-6 寄存器赋值................................................................................................................................94<br />

§8-7 寄存器数据比较........................................................................................................................95<br />

§8-8 读取系统日期............................................................................................................................96<br />

§8-9 设置系统日期............................................................................................................................97<br />

§8-10 系统日期比较..........................................................................................................................98<br />

§8-11 读取系统时间..........................................................................................................................99<br />

§8-12 设定系统时间........................................................................................................................100<br />

§8-13 系统时间比较........................................................................................................................101<br />

§8-14 读取系统状态........................................................................................................................102<br />

§8-15 轮鼓模拟器............................................................................................................................104<br />

§8-16 读取共享数据区....................................................................................................................106<br />

§8-17 写入共享数据区....................................................................................................................107<br />

<strong>VLadder</strong> 编程软件使用手册 iii


§8-18 PID比例积微分控制 .............................................................................................................108<br />

§8-19 PID2 比例微积分控制 ..........................................................................................................110<br />

§8-20 站地址设置............................................................................................................................112<br />

§8-21 高速计数器设置....................................................................................................................113<br />

§8-22 高速计数器运行....................................................................................................................115<br />

§8-23 普通模式脉冲串输出(PTO)设置 ....................................................................................116<br />

§8-24 平滑模式脉冲串输出(PTO)设置 ....................................................................................118<br />

§8-25 多段模式脉冲串输出(PTO)设置 ....................................................................................120<br />

§8-26 脉宽调制输出(PWM)设置 ..............................................................................................123<br />

§8-27 脉冲输出运行........................................................................................................................125<br />

§8-28 ModBus信息控制 ..................................................................................................................126<br />

§8-29 自由通讯发送指令................................................................................................................128<br />

§8-30 自由通讯接收指令................................................................................................................129<br />

附录A <strong>VLadder</strong>指令一览表...................................................................................................................132<br />

§A-1 接点指令一览表.....................................................................................................................132<br />

§A-2 应用指令一览表.....................................................................................................................133<br />

附录B 编辑梯形图程序的注意事项 ......................................................................................................136<br />

附录C 运行开关设置及状态指示 ..........................................................................................................138<br />

附录D 存储区分布情况表 ......................................................................................................................139<br />

附录E 特殊继电器说明 ..........................................................................................................................140<br />

<strong>VLadder</strong> 编程软件使用手册 iv


第一部分 编程软件<br />

§1. 系统需求<br />

§1-1 操作系统<br />

. Win95/98,WinNT4.0,Win2000,winXP<br />

§1-2 硬件需求<br />

. Pentium 133 等级以上 CPU<br />

. DRAM 内存至少 32Mbytes 以上<br />

. 硬盘空间至少 30Mbytes 以上<br />

§2. 功能概述<br />

§2-1 一般特点<br />

采用 Windows 操作系统,完全依照 Windows 环境的操作习惯设计,易学易用,不论是初学者或有经验的用户皆可以有效地操<br />

作;<br />

采用工程(project)观念,以可视化的方法将程序的开发内容以分层方式呈现,令相关工作内容一目了然.不论是程序的开发或<br />

维护都可以直观地进行;<br />

依据作业现场及办公室操作环境的差异提供精心设计的键盘及鼠标操作方法,不论在何种作业环境皆能以极有效率的方式<br />

完成程序的编辑与测试。<br />

§2-2 程序编辑<br />

提供在线程序编辑功能,编辑完后可立即执行不必重新下载程序,可大幅缩短程序的开发与修改时间;<br />

提供多窗口的梯形图程序画面,可将不同区段的程序同时呈现,以便加以对照、复制和编辑;<br />

提供弹性的梯形图程序编辑功能,可执行程序网络的插入、复制、粘贴、删除等高效操作,以加速程序输入;<br />

提供程序单元输入功能,用户可将整个开发工作依不同功能或其它分类方式将整个大程序切割为数个程序单元并可进行<br />

独立的输入、批注与测试,此对程序开发与后续维护工作有极大帮助;<br />

提供独立助记码程序显示窗口,可实时显示梯形图程序窗口内光标位置所在的梯形网络其等效助记码程序;<br />

多样化的程序查找功能,可查找元件及寄存器并可设置过滤条件,如元件种类,查找范围并以列表方式显示查找结果,<br />

若用鼠标直接在查找结果上点击,可将对应程序部分直接调出显示于梯形图程序窗口内。<br />

§2-3 程序测试<br />

提供多页状态测试页窗口,用户可自定各页欲显示的元件,寄存器数据,并可个别选择数据显示的格示,状态测试页的设<br />

置会存于工程文件内,下次操作时可直接调出以便于状态的监看与设置,执行时通过状态测试页可将开关元件加以非使<br />

能、使能或强制设置及设置寄存器值。<br />

多窗口的梯形图程序高亮度显示画面,除将各开关元件闭合状态以红色直接在元件上显示外,各应用指令内的寄存器其<br />

现在值也直接在窗口内一起显示,此对程序测试有极大的帮助。在窗口内也可直接点击开关元件并对其加以非使能、使<br />

能或强制设置,被非使能的接点与线圈在显示上有别于正常元件,以便掌握元件状况。<br />

§2-4 程序注释<br />

提供元件、寄存器、网络、程序单元与程序等不同层次的注释功能,除程序外其余注释皆可在梯形图程序窗口内加以显<br />

示。对于梯形图程序如何运作的解读有极大的帮助。<br />

提供以下报告(report)文件打印功能<br />

梯形图程序打印,可选择打印范围及批注工程将梯形图程序从打印机输出<br />

使用元件交叉报告,列出所有程序内用到的元件及应用指令在程序内的位置<br />

元件、寄存器的注释除可利用本软件输入外,也可采用用户常用的文字编辑软件来建立,再以导入(import)方式导入本软<br />

件,也可以导出(export) 方式将工程内的元件、寄存器批注转为文字文件以便与其它应用软件,例如与 Excel 互通<br />

<strong>VLadder</strong> 编程软件使用手册 1


§3. 工作窗口<br />

菜单栏<br />

工具栏<br />

元件栏<br />

工程窗口 梯形图程序窗口<br />

状态页窗口<br />

<strong>VLadder</strong> 编程软件使用手册 2


§4. 操作示例<br />

为使初学者对本软件的基本操作能有一清楚了解,本手册用示例依照开发的流程逐一介绍各开发阶段所需用到的基本功能.<br />

§4-1 示例内容说明<br />

本示例会示范如何在 V80 内建立一个控制程序并且进行测试与修改最后再产出一梯形图程序行表.本示例中输出点 00010 每一<br />

秒后复位 40001 并使 40010 向上计数 1 并利用 40002 的内容设置 40003<br />

以下为实际梯形图程序<br />

以下依开发程序逐节说明<br />

<strong>VLadder</strong> 编程软件使用手册 3


§4-2 工程的建立<br />

Step 1: 执行 <strong>VLadder</strong>.exe 程序<br />

Step 2: 以鼠标点击功能列 [文件]->[新建]或按 Ctrl+N 键之后会出现 ‘新建工程’窗口如下所示.<br />

Step 3:在’名称’栏输入’测试示例’<br />

Step 4:在’模块’栏依实际测试机选一对应机型<br />

Step 5:点击’确定’钮,之后会出现以下画面<br />

<strong>VLadder</strong> 编程软件使用手册 4


§4-3 程序的输入与编辑<br />

Step 1: 进行梯形图程序输入,首先将光标移至梯形图程序窗口的最左上角处点一下,此时会于该位置出现一闪烁的蓝色方块.<br />

Step 2: 将光标移至元件盘位置该区域有如下的图标<br />

Step 3: 鼠标左键点击此 时会出现一带 B 接点的鼠标光标.将此光标移至蓝色方块位置点一下鼠标左键会出现以下对话窗口<br />

Step 4: 输入 00010 后按 Enter 键即可将 00010 B 接点输入.<br />

Step 5: 将光标移至元件盘 的位置点击一下,此时会出现一带 F 图标的光标.将此光标移至先前输入的元件后方位置.点击一下鼠<br />

标左键会出现以下对话窗口:<br />

Step 6: 选择 T1.0 后再按 Enter 键或以鼠标点击’确定’钮出现以下对话窗口.之后在上节点输入#0001 下节点输入 40001 再按 Enter 键或<br />

以鼠标点击’确定’钮便输入完成<br />

<strong>VLadder</strong> 编程软件使用手册 5


Step 7: 接下来输入 00010 A 接点其方法同 00010 B 接点不同的是点击<br />

Step 8: 输入完 00010 A 接点后紧接着输入 ADD.此时以鼠标点击 此时会现一带 F 图标的光标.将此光标移至 00010 A 接点后方<br />

点击一下之后会出现以下窗口<br />

在应用指令名称栏 ADD,若对指令名称不熟的情况下,也可以将鼠标光标移至’类别’,点击数学运算指令,此时指令名称’名称’栏会列出<br />

与此类别有关的所有指令.在其内点击 ADD 后,ADD 会出现在应用指令名称’函数名称’栏内.此时再按 Enter 键或以鼠标点击’确定’钮<br />

后出现以下窗口<br />

分别在上节点及中节点与下节点栏输入 40010 及#00001 与 40010. 由于大部分的 FB 指令皆具有弹性的触发选项,此时可利用鼠标或<br />

键盘加以点击.当用键盘时触发用 Alt+P 组合键来加以控制.<br />

Step 9: 将鼠标光标移至 元件盘的位置点击一下. 此时出现一带水平短路图标的光标将其移至 ADD 后方加入水平短路线.<br />

Step 10: 接下来以同样的方式输入 MBIT 指令.<br />

以下介绍以键盘输入指令的用法<br />

光标的移动控制-<br />

光标上下左右移动 – 上下左右键 移到第一页 – Ctrl+Home 移到最后一页 – Ctrl+End<br />

移到最左端 – Home 移到最右端 – End 往上移一页 – Pg Up<br />

往上移一页 – Pg Dn 往上插一页 – Shift Insert 往上插一页 – Ctrl Insert<br />

各开关元件当用键盘输入时是利用一个英文字母来代表不同种类的元件.<br />

A 接点 : A B 接点 : B 上沿触发线圈: U 下沿触发线圈: D 线圈: O<br />

水平短路: H 垂直短路: V Set 线圈: S Reset 线圈: R<br />

输入时先将光标移至欲输入位置再键入元件代码及编号.输入的顺序并不强制可先输入元件代码也可先输入编号.例如编号为 00001<br />

的 A 接点可输入 A00001 或者 00001A 皆可.若仅输入编号则沿用上一次输入的元件种类.<br />

Step 11: 按 Esc 键此时先前出现在鼠标光标旁的图标会消失.之后将鼠标光标移至标有 00010 网络的第一个元件位置点击一下.<br />

<strong>VLadder</strong> 编程软件使用手册 6


Step 12: 键盘输入 A 此时会带出以下窗口接下来按 00001 再按 Enter.当输入时可连续按 00001 Enter 而不理会窗口的显示.<br />

§4-4 程序注释<br />

Step 1:当在输入或编辑元件时会出现以下窗口.<br />

此时按 下会出现以下的窗口<br />

利用此窗口分别依照注释与描述填入注释. 当输入完时,选择功能列[查看]->[显示注释] ,注释会立即显示在欲注释的元件下方<br />

<strong>VLadder</strong> 编程软件使用手册 7


§4-5 程序测试<br />

Step 1: 首先将前面输入的程序存至 PLC,利用功能列[文件]->[另存为] ->[存到 PLC]后出现’联机’对话窗口.如下所示.<br />

此时可自联机名称栏选取预先设置好的联机设置,再按’确定’钮即可进行 PLC 的联机,并出现’数据传送’窗口.若联机成功,会出<br />

现’PLC 状态’窗口。若没有合适的预设联机设置存在,则可通过编辑或新增的程序进行。若通讯端口与实际操作不一致,可点击编辑<br />

钮来加以修改。<br />

Step 2: 当上一步骤完成时,PLC 的内容与工程文件是一致的,此时,可利用功能列[控制器]->[启动]或输入快捷键 F9 来令 PLC 开始<br />

执行程序。也可以利用功能列[控制器]->[停止]或输入快捷键 Ctrl+F9 令 PLC 停止执行程序。<br />

<strong>VLadder</strong> 编程软件使用手册 8


Step 3: 当 PLC 执行时,梯形图程序窗口会变为如下情形。其中有红色方块的元件代表其状态为导通,此时,我们可以控制梯形图程<br />

序的显示,令画面中同时也可以显示程序注释或显示寄存器现在值。<br />

以下画面是点击 “注释”的效果。<br />

Step 4: 利用状态页来测试.首先打开一个空的状态监视页方法如下<br />

利用功能列[工程]->[状态页]->[新增状态页].<br />

经以上操作后,会出现一对话框。请于监视页名称栏内输入“示例监视页”输入“回车”后,出现以下窗口。此时请将鼠标光标移<br />

至最左边的编号栏第一个空白格,输入: 00001-00004 “回车”,再将光标移至第二个编号栏输入 40001-40002“回车”。<br />

此时画面上会出现 00001~00004,40001~40002 的编号及其致/非使能及 ON/OFF 状态以及定时器 40001,计数器 40002 的状态及现在值。<br />

若欲将接点或线圈致/非使能,可将光标移至对应状态区双点,即出现致/非使能的选项。若欲设置其值,则可将光标移至对应数据域,<br />

直接输入 0,1 值或双点鼠标左键,打开数值输入窗口。<br />

对于寄存器而言,利用状态区可控制其显示格式。目前,有四种显示格式即:十进制,二进制,十六进制,字符串等可选,操作方法<br />

是在状态区双点鼠标左键调出菜单。<br />

<strong>VLadder</strong> 编程软件使用手册 9


§5. 其它功能说明<br />

§5-1 文件<br />

新建: 创建新工程文件<br />

打开: 开启已存在的文件,可分为’从文件打开’与’从控制器打开’<br />

保存: 储存目前在编辑的工程<br />

另存为: 储存目前在编辑的工程文件到新的工程名称中,可分为’存到文件’<br />

与’存到控制器’<br />

关闭: 关闭目前正在编辑中的工程<br />

页面设置: 设定打印机<br />

打印: 打印工程文件<br />

退出: 退出程序<br />

§5-2 编辑<br />

§5-3 搜索<br />

§5-4 查看<br />

撤销: 回复前一个动作<br />

剪切: 剪切所选择的区域<br />

复制: 复制所选择的区域<br />

粘贴: 粘贴选择的区域<br />

删除: 删除选择的区域<br />

选择全部: 选择全部<br />

插入新页: 插入新的工作页<br />

删除页: 删除当前工作页<br />

删除连续页: 删除多个连续工作页<br />

多页复制: 复制所选择的多个工作页<br />

插入空间: 水平方向插入空间<br />

删除空间: 水平方向删除对应的空间<br />

查找: 设定搜寻的条件并由第一页开始查找元件<br />

找上一个: 按照设定的搜寻条件开始往上查找<br />

找下一个: 按照设定的搜寻条件开始往下查找<br />

替换: 替换参数编号<br />

查找页: 跳到指定的页数<br />

上一页: 跳到指定上一页<br />

下一页: 跳到指定下一页<br />

工程管理: 打开工程管理窗口<br />

梯形图: 打开梯形图窗口<br />

查看状态: 打开状态显示窗口<br />

显示注释: 打开注释窗口<br />

字体: 字体大小设定<br />

新增编辑窗口: 增加新的编辑窗口<br />

<strong>VLadder</strong> 编程软件使用手册 10


§5-5 工程<br />

§5-6 控制器<br />

§5-7 工具<br />

§5-8 窗口<br />

§5-9 帮助<br />

I/O 映射表: 显示与设定 I/O 映射表<br />

系统参数设置: 设定通讯口、修改密码等系统参数<br />

断电保持线圈: 设定断电保持接点<br />

注释: 显示和编辑相关的参数和注释<br />

交互参照: 显示交互参照的参数和描述<br />

监视页: 增加和删除选定的监视页<br />

从控制器打开: 从控制器上载工程<br />

存到控制器: 下载工程到控制器<br />

启动: 启动控制器开始运行<br />

停止: 停止控制器运行<br />

控制器连线: 控制器在线工作<br />

控制器离线: 控制器离线工作<br />

清除梯形图: 清除所有的梯形图<br />

摘要: 显示控制器的相关资料<br />

自我测试状态: 控制器自检<br />

写入 ROM: 存储工程到控制器的非易失性存储器内<br />

重整 IO 映射表: 重新扫描控制器的硬件配置<br />

梯形图比较: 梯形图程序比较<br />

PLC Timeout: 设定控制器的看门狗时间<br />

设置控制器时间: 设定控制器的日历<br />

特殊 IO 表: 显示特殊 IO 模块描述<br />

IO 使用表: 显示 IO 寄存器的使用情况<br />

砖块式并排: 砖块式并排窗口显示<br />

水平并排: 水平式并排窗口显示<br />

垂直并排: 垂直式并排窗口显示<br />

重排图示: 重新排列图示<br />

关于: 显示软件的版本信息<br />

在线帮助: 打开 PDF 在线帮助文件<br />

<strong>VLadder</strong> 编程软件使用手册 11


附录 A 快速键功能速查<br />

输入元件 按键及说明<br />

A 接点 A<br />

B 接点 B<br />

上升缘触发线圈 U<br />

下降缘触发线圈 D<br />

Set 线圈 S<br />

Reset 线圈 R<br />

线圈输出 O<br />

注:输入以上元件时可先输入编号再输入元件按键(A,B,U,D,O,S,R)或先输入元件按键再输入编号.<br />

水平线 H<br />

连续水平线 Shift + H<br />

垂直短路线 V<br />

函数式功能指令 F<br />

修改接点编号<br />

元件编辑功能 按键及说明<br />

<strong>VLadder</strong> 编程软件使用手册 12<br />

直接输入新编号或按 SPACE 键(空格键)带出编辑窗口后再输入新编号<br />

修改功能指令内的编号 按 SPACE 键(空格键)带出编辑窗口再输入新编号<br />

删除元件或功能指令 按 Delete 键 或 Backspace 键<br />

参数编辑功能 按键及说明<br />

Type 0,1,3,4 直接输入 5 位数编号<br />

Constant 十进制 先输入’#’再输入十进制数值(0~65535)<br />

Constant 十六进制 先输入’#’再输入十六进制数值之后再输入’H’(0~FFFF)<br />

P Pointer 先输入’P’再输入 5 位数编号<br />

L Label 先输入’L’再输入 5 位数编号<br />

插入空白网络<br />

网络编辑功能 按键及说明<br />

删除单一解析网络 Ctrl + Delete<br />

上方插入 – Shift + Insert 下方插入 – Ctrl + Insert<br />

光标移动功能 按键及说明<br />

上下左右移动 上,下,左,右移动键<br />

跳至第一列 Home<br />

跳至最后一列 End<br />

跳至下一行 Shift + Enter<br />

跳至下一解析网络 Enter<br />

跳至第一个解析网络 Ctrl + Home<br />

跳至最后一个解析网络 Ctrl + End<br />

跳至某一特定解析网络 Ctrl + G


工程操作功能 按键及说明<br />

开新工程 Ctrl + N<br />

开启工程文件 Ctrl + O<br />

联机开启工程 Ctrl + L<br />

储存工程 Ctrl + S<br />

打印 Ctrl + P<br />

PLC 操作功能 按键及说明<br />

PLC 停止运转 Ctrl + F9<br />

PLC 执行 F9<br />

元件查找功能 按键及说明<br />

寻找元件 Ctrl +F<br />

寻找下一个元件 F3<br />

<strong>VLadder</strong> 编程软件使用手册 13


第二部分 指令手册<br />

一、接点指令<br />

V80 系列 PLC 提供了 10 种的接点指令;-| |- (A 接点)、-|/|- (B 接点)、-( )-(输出线圈)、-(S)-(设置输出线圈)、-(R)-(复位输出线<br />

圈)、-(↑)-(上升脉冲输出)、-(↓)-(下降脉冲输出)、-(M)-(掉电保持输出线圈)、-(SM)- (掉电保持设置输出线圈)、-(RM)- (掉电保持复位<br />

输出线圈)。接点指令为构成梯形图程序最基本的元素。下面概括说明接点指令的意义及用法:<br />

-| |- (A 型接点-Normally Open-常开接点):当对应参考信号状态为’ON’时,A 型接点便成为短路状态;若为’OFF’,A 型接点为断<br />

路状态。<br />

【示例】 ( )<br />

10001 00001<br />

( )<br />

00001 00002<br />

-| / |- (B 型接点-Normally Close -常闭接点):若为’ON’,B 型接点为断路状态;当对应的参考信号状态为’OFF’时,B 型接点便成为<br />

短路状态。<br />

【示例】 ( )<br />

10001 00001<br />

( )<br />

00001 00002<br />

③-( )-(输出线圈): 输出线圈/接点为实际反应前一级的状态,也就是说若输出接点的前一级为导通状态,此时输出接点为’ON’;<br />

反之,若输出接点的前一级为不导通的状态则输出接点为’OFF’。<br />

【示例】<br />

【图标】<br />

输入(10001)<br />

输出(00001)<br />

( )<br />

10001 00001<br />

10002 00001<br />

<strong>VLadder</strong> 编程软件使用手册 14<br />

【说明】当输入接点 10001 导时,输出线圈 00001 ‘ON’ ;而当输入<br />

信号 10001 不导通时输出线圈 00001 ‘OFF’。<br />

-(S)-(设置输出线圈):当输出线圈的前一级为导通状态时,对应的输出线圈会被设置为’ON’并且保持’ON’的状态直到相同号码输出<br />

线圈被复位(reset)才会输出为’OFF’。<br />

【示例】<br />

【图标】<br />

输入(10001)<br />

输出(00001)<br />

( S )<br />

10001 00001<br />

-(R)-(复位输出线圈):当输出线圈的前一级为导通状态时,对应的输出线圈会被复位为’OFF’并且保持’OFF’的状态直到相同输出线<br />

圈号码被设置(set)才会输出为’ON’。<br />

【示例】 ( S ) 【说明】当输入接点 10001 导通时,输出线圈 00001 为’ON’并保持;<br />

10001 00001<br />

直到输入信号 10001 断路且输入接点 10002 导通时,则输出线<br />

( R )<br />

【说明】当输入接点 10001 为’ON’时,A 型接点 10001 导通,使输出<br />

线圈 00001 为‘ON’。00001 为’ON’使得 A 型接点 00001 导<br />

通,进而会让输出线圈 00002 ‘ON’。<br />

【说明】当输入信号 10001 为’OFF’时,B 型接点 10001 短路,让输出<br />

线圈 00001 为‘ON’。00001 为’ON’使得 B 接点 00001 开路,进<br />

而会让输出线圈 00002 ‘OFF’。<br />

【说明】 当输入接点 10001 导通时,输出线圈 00001 ‘ON’且不管 10001<br />

是否断路,00001 的输出状态皆保持为’ON’。<br />

圈 00001 才会重置为’OFF’状态。


【图标】<br />

输入(10001)<br />

输入(10002)<br />

输出(00001)<br />

-(↑)-(上沿脉冲输出):当输出接点的前级有’OFF’⇒’ON’的变化时,输出接点会产生维持一个扫描周期的’ON’信号。<br />

【示例】<br />

【说明】当输入接点 10001 发生’OFF’⇒’ON’的变化时,输出线圈<br />

【图标】<br />

输入(10001)<br />

输出(00001)<br />

( )<br />

10001 00001<br />

1st scan 2nd scan 3rd scan 4th scan 5th scan<br />

<strong>VLadder</strong> 编程软件使用手册 15<br />

00001 会产生一脉冲其脉冲’ON’的时间为 1 个扫描周期<br />

-(↓)-(下沿脉冲输出):当输出接点的前级有一’ON’’⇒’OFF’的变化时,输出接点会产生维持一个扫描周期的’ON’信号。<br />

【示例】<br />

【图标】<br />

输入(10001)<br />

输出(00001)<br />

( )<br />

10001 00001<br />

【说明】当输入接点 10001 发生’ON’⇒’OFF’的变化时,输出线圈<br />

00001 会产生一脉冲,其脉冲’ON’的时间为 1 个扫描周期<br />

1st scan 2nd scan 3rd scan 4th scan 5th scan 6th scan 7th scan<br />

-(M)-(停电保持输出线圈):输出线圈为实际反应前一级的状态,也就是说若输出线圈的前一级为导通状态,此时输出线圈为’ON’;<br />

反的若输出线圈的前一级为不导通的状态则输出线圈为’OFF’。此型的输出线圈当停电后再复电依然会保持在停电前的状态。<br />

-(SM)- (停电保持设置输出线圈):当输出线圈的前一级为导通状态时,对应的输出线圈会被设置为’ON’并且保持’ON’的状态直到<br />

相同输出线圈号码被复位(reset)才会输出为’OFF’。此型的输出线圈当停电后再复电依然会保持在停电前的状态。<br />

-(RM)- (停电保持复位输出线圈):当输出线圈的前一级为导通状态时,对应的输出线圈会被复位为’OFF’并且保持’OFF’的状态直到<br />

相同输出线圈号码被设置(set)才会输出为’ON’。此型的输出线圈当停电后再复电依然会保持在停电前的状态。<br />

二、应用指令说明<br />

V80 系列 PLC 的应用指令在构成上分为输入控制、指令名称、操作数、功能输出四个部份。<br />

1. 输入控制: V80 系列 PLC 的应用指令,最少要有一个输入用来控制应用指令的执行与否;应用指令最多有三个输入控制,其余二<br />

个输入用来控制应用指令不同的作业模式。<br />

2. 指令名称: 指令名称为一缩写的文字,透过此一部份可让用户轻易的了解应用指令的主要功能 (2~4 字符)。<br />

3. 操作数: 操作数是应用指令运算时做为参考或写入的对象。可分为只做参考用,其内容不会因应用指令的运算而改变的资源操作<br />

数(Source)及用来储存运算结果的目的操作数(Destination)两大类。以下就 V80 系列 PLC 应用指令中,主要操作数名称及性质作说<br />

明,并将可当操作数的接点、线圈或寄存器的类别范围分述如表 2:


■表 1: 主要操作数的使用范围:<br />

操作数 V80-M32DR V80-M32DT V80-M40DR V80-M40DT<br />

0 00001~09984 00001~09984 00001~09984 00001~09984<br />

1 10001~12048 10001~12048 10001~12048 10001~12048<br />

3 30001~30512 30001~30512 30001~30512 30001~30512<br />

4 40001~49999 40001~49999 40001~49999 40001~49999<br />

L L1~L150 L1~L150 L1~L150 L1~L150<br />

C 0~65535 0~65535 0~65535 0~65535<br />

P P0~P15 P0~P15 P0~P15 P0~P15<br />

■表 2:主要操作数名称及性质:<br />

简写 名 称 说 明<br />

0 输出线圈<br />

(Discrete output)<br />

1 输入接点<br />

(Discrete input)<br />

3 输入寄存器<br />

(Input register)<br />

4 保持寄存器<br />

(Holding register)<br />

C 立即值<br />

(Constant)<br />

P 指针<br />

(Pointer)<br />

L 标签<br />

(Label)<br />

使用输出线圈作为操作数,设置方式以 16 点(1 word = 16 bits)为操作数的单位且必须<br />

为 16 的倍数+1 为其输入的操作数。例如 00001、00017、00033。<br />

使用输入接点作为操作数,设置方式以 16 点(1 word = 16 bits)为操作数的单位且必须<br />

为 16 的倍数+1 为其输入的操作数。例如 10001、10017、10033。<br />

使用输入寄存器做为操作数,例如 30001、30003。<br />

使用保持寄存器做为操作数,例如 40001、40003。<br />

在某些应用指令上提供用户输入一立即值,应用指令就可以立即值直接作运算而不必<br />

透过读取寄存器。如 #00001,#0020h,前者为十进制常数,后者为十六进制常数<br />

指针当做操作数主要就是做为一间接寻址的功能,指针可以指向 0、1、3、4 类的变<br />

量做为间接寻址的操作数。如 P00001<br />

在应用指令上有一些配对的指令(如 FOR 与 NEXT)必须其二个相配的指令为同一个<br />

标签才能够执行动作。如 L00001<br />

■特殊操作数说明:<br />

a. 十六进制长字组(Hexadecimal long word)的表示<br />

一般而言,单一寄存器的内存值最大为 65535。在某些运用中此值仍嫌太小,为了方便用户的应用起见,本 PLC 提供长字组<br />

的操作数,长字组的操作数在本 PLC 内是以连续的两个寄存器组合而成,在表示上则以前面一个的寄存器作为代表。例如:假设<br />

(40001)=1,(40002)=1 对长字组操作数 40001 而言,当运算时,我们取 40001 内容为高字组,而 40002 内容为低字组也就是说长<br />

字组(40001)=65537。其取值的方式为高字组*65536+低字组;简示如下表:<br />

0 0 0 1 0 0 0 1 (HEX)<br />

(40001) (40002)<br />

b. 十进制长字组(Decimal long word)的表示<br />

以十进制长字组而言,单一寄存器的内存值最大为 9999。在某些运用中此值仍嫌太小,为了方便用户的应用起见,本 PLC<br />

提供十进制长字组的操作数,十进制长字组的操作数在本 PLC 内是以连续的两个寄存器组合而成,在表示上则以前面一个的寄<br />

存器作为代表。例如:假设(40001)=1,(40002)=1 对长字组操作数 40001 而言,当运算时,我们取 40001 内容为高字组,而 40002<br />

内容为低字组也就是说十进制长字组(40001)=10001。其取值的方式为高字组*10000+低字组;简示如下表:<br />

0 0 0 1 0 0 0 1 (DEC)<br />

(40001) (40002)<br />

c.浮点数表示<br />

在浮点数的应用指令上会用到浮点数,以下说明浮点数的表示法:每一浮点数占用二个字组(Long word 一样取连续的两个<br />

word 做为运算子—共 32 bits),其各位的代表意义如表说明:<br />

<strong>VLadder</strong> 编程软件使用手册 16


31 b8 b7 b0<br />

1 S<br />

2 -1 2 -2 2 -22 2 -23 2 -24<br />

浮点数转换为整数公式如为:I=(-1) S ×2 (E-64) ×Fr<br />

分数(fraction) 正负号(sign bit) 指数(exponent)<br />

<strong>VLadder</strong> 编程软件使用手册 17<br />

Fr S E<br />

例如一浮点数运算的应用指令其来源操作数为 40130,则依浮点数定义来说一个完整的浮点数是取 40130 及 40131 的内容合并后<br />

再加以转换成浮点数;假设(40130)=C000h、(40131)=0042h,则其转换流程及结果如下所示:<br />

1100 0000 0000 0000 0000 0000 0100 0010<br />

I=(-1) 0 ×2 (66-64) ×(2 -1 +2 -2 )=3<br />

4. 功能输出: 功能输出为应用指令运算结果或是状态的输出,如同输入控制一样。当梯形图程序的应用指令在执行时,每一个功能<br />

输出的状态(ON/OFF)都有其各自的意义,这一部份将于 “应用指令” 的部份加以说明。<br />

5. 二进制数值及其术语:<br />

‧ 位:(Bit 简写 B,如 B0、B1……)位为二进制数值的最基本单位,其状态只有 0 与 1。<br />

‧ 半字节:(半字节简写 NB,如 NB0、NB1……)由 4 个位组成(如 B3~B0)用以表示一个位数的十进制数字 0~9 或十六进制的 0~F。<br />

‧ 字节:(Byte 简写 BY,如 BY0、BY1……)由 2 个半字节(半字节)组成(即 8 个位,例如 B7~B0)。可表示十六进制的 2 个数值 00~FF。<br />

‧ 字组:(Word 简写 W,如 W0、W1……)由 16 个位所组成。可表示十六进制的 4 个数值 0000~FFFF。<br />

‧ 长字组:(Long word 简写 LW,如 LW0、LW1……)由连续的 2 个字组所组成(即 32 个位,例如 B31~B0)。可表示十六进制的 8<br />

个数值 00000000~FFFFFFFF。<br />

三、应用指令的阅读:<br />

(3)<br />

(1)<strong>VLadder</strong> 上可看到的指令简写 (2)指令的功能全名叙述 指令速记<br />

指令简写 指令全名<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 指令简写 O 2<br />

I 3 下节点 O 3<br />

(5)<br />

中节点<br />

指令说明: (7)说明应用指令的主要动作输入控制及功能输出<br />

节点说明: (8)说明应用指令每一节点数据说明<br />

上节点: 中节点: 下节点:<br />

输入控制说明: (9)说明输入控制的动作方式<br />

I 1: I 2: I 3:<br />

功能输出说明: (10)说明功能输出的定义及输出条件<br />

O 1: O 2: O 3:<br />

0 1 3 4 C P L<br />

下节点 <br />

电平动作<br />

0~65535 (6)应用指令各节点可输入的操作数类型<br />

脉冲动作<br />

(4)动作方式


上表为应用指令说明的表格,共分成 10 个部份,说明如下:<br />

(1)指令简写: 指令简写与用户透过 <strong>VLadder</strong> 编程软件作指令输入时,在屏幕上看到的显示是一样的,指令简写系由指令的英文全名<br />

缩写而成,便于记忆让用户在查看梯形图程序时,很快就可以看出应用指令所代表的意义。<br />

(2)指令全名: 此部份是指利用比较简单的方式描述应用指令的大概功能,用户只要通过本字段就可以完全了解应用指令的功能。<br />

(3)指令速记: 本字段的指令内容与指令简写字段是一样的,而此栏的主要用意在于,让用户在快速翻阅时便于寻找。<br />

(4)动作方式: 这两个字段标示应用指令的动作方式。电平动作表示,当应用指令动作输入端(指应用指令的第一个输入端 - I1)所接的<br />

输入信号为高电平时(High),则会使应用指令动作。另外一个为脉冲动作控制,也就是说,若要让应用指令能够动作,就必须在应用<br />

指令的动作输入端的输入信号为一’OFF’⇒’ON’的变化。<br />

(5)梯形图符号: 这个字段表示,应用指令在 <strong>VLadder</strong> 编程软件上的显示图。应用指令梯形图的显示上分成 3 个部份:<br />

1. 应用指令的输入(如上图的 I1、I 2、I 3),在梯形图上 I 1 作为应用指令的动作控制,而 I 2、I 3 为附加的控制输入,不同指令有不同<br />

的功能,实际的功能请参考各指令说明。<br />

2. 应用指令的本体(为图上方框内的信息),包括了指令简写、上节点、中节点及下节点;其中指令简写的部份与ℵ的说明相同,<br />

而上中下节点则是因应不同的指令,在使用上所须输入的操作数(应用指令的种类依节点的个数来分可分两类 - 一类有两个节点,<br />

另一类则有三个节点)。<br />

3.应用指令的功能输出(如上图的 O1、O 2、O 3)<br />

(6)操作数的种类: 此处指的是在应用指令上各节点可允许使用的操作数种类。以操作数的种类来说分为 0、1、3、4、C、P、L 等 7<br />

种,下面就将这些操作数加以说明:<br />

0:在 <strong>VLadder</strong> 编程软件上,显示方式为 0XXXX(例如 00001、00007 等),当作接点或线圈使用时,其使用范围依机型的不<br />

同而有所差别;而做为应用指令的操作数时,输入数据必须为 16 的倍数+1(例如 00001、00017、00049 等)才能被应用指令<br />

接受。<br />

1:在 <strong>VLadder</strong> 编程软件上,显示方式为 1XXXX(例如 10001、10007 等),当作为接点使用时,其使用范围依机型的不同而<br />

有所差别;而做为应用指令的操作数时,输入数据必须为 16 的倍数+1(例如 10001、10017、10049 等)才能被应用指令接受。<br />

3:在 <strong>VLadder</strong> 编程软件上,显示方式为 3XXXX(例如 30001、30002 等),在 V80 系列 PLC 中 3字头的运算子可直接对应<br />

到数字量输入模块或模拟量输入模块,其使用范围依机型的不同而有所差别;3 字头的操作数本身就是以寄存器的方式存在,<br />

所以在输入时只要是符合各机型所定输入寄存器的范围即可。<br />

4:在 <strong>VLadder</strong> 编程软件上,显示方式为 4XXXX(例如 40001、40002 等),在 V80 系列 PLC 中 4字头的运算子可直接对应<br />

到数字量输出模块或模拟量输出模块,其使用范围依机型的不同而有所差别。4 字头的操作数本身就是以寄存器的方式存在,<br />

所以在输入时只要是符合各机型所定输出寄存器(或保持寄存器)的范围即可。<br />

C:在 <strong>VLadder</strong> 编程软件上,显示方式为#XXXXX 或#XXXXh(例如#12345、#6789h 等),C 代表的意义就是常数,也就是在<br />

某些应用上,用户对于要输入在应用指令的运算子可直接使用其立即值作为输入,例如在数值运算上便可输入立即值就做运<br />

算;不须使用寄存器来输入(0、1、3、4),其最大的好处就是增强应用程序的可读性。在 V80 系列 PLC 常数的输入分为两<br />

种;一是十进制数值的输入(数值范围为#00000~#09999),在 <strong>VLadder</strong> 编程软件上利用按键’I’之后再输入欲设置的数值即可。<br />

另外一种为十六进制数值的输入(输入范围为#0000h ~ #FFFFh) 在 <strong>VLadder</strong> 编程软件上利用按键’X’之后再输入欲设置的数<br />

值即可。<br />

P:在 <strong>VLadder</strong> 编程软件上,显示方式为 P00XX(例如 P0000、P0001 等),在 V80 系列 PLC,P 字头的运算单元简单的说就<br />

是一个间接寻址的指针,其内容可以指定到 0、1、3、4 范围内的值做为间接操作数,V80 系列 PLC 提供了 16 个指针让用<br />

户定义使用(P0000 ~ P0015),在输入时只要先键入’P’在键入数值 0~15 即可将指针当做应用指令的操作数使用。(在使用指针<br />

的前必须先定义指针的内容为何,应用指令上的 INIP、INCP、DECP、PADD、PSUB 即是针对指针设置的相关应用指令)。<br />

L:在 <strong>VLadder</strong> 编程软件上,显示方式为 LXXXX(例如 L0001、L0002 等),在 V80 系列 PLC L 字头的运算子使用上只有配<br />

对执行指令(例如 FOR、NEXT、SBR、RET 等等指令),主要目的就是做为配对应用指令上的标签使用,在输入时只要先键<br />

入’L’在键入数值 1~150 即可将设置好配对指令所要用到的标签。<br />

(7)指令说明: 此字段主要是以较易懂的文字来说明应用指令的主要功能;另外还描述了输入信号的控制动作,以及应用指令执行结<br />

束后,会有什么样的功能输出。<br />

(8)节点说明: 节点说明系针对应用指令上每一个节点数据的功用说明;也就是说每一个节点,在应用指令上的作用,例如上节点的<br />

数据通常作为源操作数,而中节点或下节点的数据则较常被当作是目的操作数。<br />

(9)输入控制说明: 此字段用来描述,各输入点在应用指令的控制功能及动作条件(I1),应用指令的功能选择(由 I2 与 I3 的输入信号来<br />

作功能选择)。<br />

(10)功能输出说明: 这个字段说明各输出信号(O1、O2、O3)的功用及输出条件。 <strong>VLadder</strong> 编程软件使用手册 18


§1. 基本应用指令<br />

§1-1 1.0 秒定时器(1.0 second timer) T1.0<br />

T1.0 1.0 秒定时器(1.0 second timer)<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

T1.0<br />

I 2 下节点 O 2<br />

0~65535<br />

<strong>VLadder</strong> 编程软件使用手册 19<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

本定时器以 1 秒为计时单位,每经 1 秒定时器即累计加 1。在控制动作方面,外部信号可激活计时、停止计时、清除计时等动作。<br />

指令输出方面可以表示计时的状态是否计时到达设置值。<br />

节点说明:<br />

输入控制说明:<br />

上节点:定时器的设置值 下节点:目前累计的计时值<br />

I 1:动作控制 输入动作时( ) 执行计时功能<br />

I2:计时累积值清除控制低电平动作,当动作时(即 0)定时器累积值清除为 0<br />

功能输出说明:<br />

【示例】<br />

O 1:计时到输出 = 1,计时累积值=设置值; = 0,计时累积值


§1-2 0.1 秒定时器(0.1 second timer) T0.1<br />

T0.1 0.1 秒定时器(0.1 second timer)<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

T0.1<br />

I 2 下节点 O 2<br />

0~65535<br />

<strong>VLadder</strong> 编程软件使用手册 20<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

本定时器以 0.1 秒为计时单位,每经 0.1 秒定时器即累计加 1。在控制动作方面,外部信号可激活计时、停止计时、清除计时等动<br />

作。指令输出方面可以表示计时的状态是否计时到达设置值。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:定时器的设置值 下节点:目前累计的计时值<br />

I 1:动作控制 输入动作时( ) 执行计时功能<br />

I 2:计时累积值清除控制 低电平动作,当动作时(即 0)定时器累积值清除为 0<br />

O 1:计时到输出 = 1,计时累积值=设置值; = 0,计时累积值


§1-3 0.01 秒定时器(0.01 second timer) T0.01<br />

T0.01 0.01 秒定时器(0.01 second timer)<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

T0.01<br />

I 2 下节点 O 2<br />

0~65535<br />

<strong>VLadder</strong> 编程软件使用手册 21<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

本定时器是以 0.01 秒为计时单位,每经 0.01 秒定时器即累计加 0.01。在控制动作方面,外部信号可激活计时、停止计时、清除计<br />

时等动作。指令输出方面可以表示计时的状态是否计时到达设置值。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:定时器的设置值 下节点:目前累计的计时值<br />

I 1:动作控制 输入动作时( ) 执行计时功能<br />

I 2:计时累积值清除控制 低电平动作,当动作时(即 0)定时器累积值清除为 0<br />

O 1:计时到输出 = 1,计时累积值=设置值; = 0,计时累积值


§1-4 上数计数器(Up counter) UCTR<br />

UCTR 上数计数器(Up counter)<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

UCTR<br />

I 2 下节点 O 2<br />

0~65535<br />

<strong>VLadder</strong> 编程软件使用手册 22<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

上数计数器的动作系利用外部输入的脉冲变化来驱使计数器的动作。在输入控制上藉由脉冲的输入变化可激活计数、停止计数及清<br />

除计数值等动作。指令的输出可以表示出计数是否已经到达预设的计数值。<br />

节点说明:<br />

上节点:计数器的默认值 下节点:目前累计的计数值<br />

输入控制说明:<br />

I 1:计数控制 当 I 1 有一’OFF’ ’ON’的变化时,计数值加 1<br />

I2:计数累积值清除控制 低电平动作,当动作时(即 0)计数器累积值清除为 0<br />

功能输出说明:<br />

【示例】<br />

O 1:计数到输出 = 1,计数累积值=默认值; = 0,计数累积值


§1-5 下数计数器(Down counter) DCTR<br />

DCTR 下数计数器(Down counter)<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

DCTR<br />

I 2 下节点 O 2<br />

0~65535<br />

<strong>VLadder</strong> 编程软件使用手册 23<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

下数计数器的动作系利用外部输入的脉冲变化来驱使计数器的动作。在输入控制上藉由脉冲的输入变化可激活计数、停止计数及清<br />

除计数值等动作。指令的输出可以表示出计数是否已经等于 0。<br />

节点说明:<br />

上节点:计数器的默认值<br />

下节点:目前累计的计数值<br />

输入控制说明:<br />

I 1:计数控制 当 I 1 有一’OFF’ ’ON’的变化时,计数值减 1<br />

I2:计数累积值清除控制 低电平动作,当动作时(即 0)计数器累积值设置为默认值<br />

功能输出说明:<br />

【示例】<br />

O 1:计数到输出 = 1,计数累积值=0; = 0,计数累积值>0 O 2:与 O 1 输出相反<br />

#00100 ( )<br />

10001 DCTR 00001<br />

00001<br />

40001<br />

【说明】当输入信号 10001 产生 OFFON 变化时,计数器累积值(40001)减 1;当计数器累积值递减到 0 时,输出线圈 00001 导通使<br />

得接点 00001 开路使计数器重设为 100,重新计数。


§2. 数学运算指令<br />

§2-1 4 位数十进制加法器 ADD<br />

ADD 4 位数十进制加法器<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 ADD O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 24<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~9999 word+word→word (Decimal)<br />

指令说明:本加法器系经由外部的控制 2 个十进制数值相加并储存其结果。在控制动作方面,外部信号可控制是否执行加法器的<br />

动作。指令输出方面可以表示加法器是否执行及其结果是否进位<br />

节点说明: 上节点:被加数(须9999 (下节点值为原本运算结果-10000); = 0,相加结果≦9999<br />

40021<br />

10025 40027<br />

ADD<br />

40021 #0001<br />

40020<br />

ADD<br />

40020<br />

【说明】本例是两个 4 位数的十进制数相加的应用实例:输入接点 10025 由’OFF’∏’ON’ 寄存器 40027 的值 0500 加寄存器 40021 的值<br />

9700 并将结果放入 40021 内,因其和大于 9999,会使 O3 输出为’ON’因而执行第 2 个加法器运算。<br />

40020 00001 00000<br />

40021 00200 +00001<br />

00001<br />

40027 00500 09700 控制第 2 个加法器动作<br />

+00500<br />

10200<br />

10200


§2-2 4 位数十六进制加法器 ADDB<br />

ADDB 4 位数十六进制加法器<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 ADDB O 2<br />

I 3 下节点 3<br />

<strong>VLadder</strong> 编程软件使用手册 25<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~65535 word+word→word (Binary)<br />

指令说明:本加法器系经由外部的控制将 2 个 4 位数十六进制数值相加并储存其结果。在控制动作方面,外部信号可控制加法器<br />

的动作与否。指令输出方面可以表示加法器是否执行及其结果是否进位<br />

节点说明:<br />

输入控制说明:<br />

上节点:被加数 中节点:加数 下节点:相加的和(上节点+中节点)<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

功能输出说明:O 1= I 1 O 2= 0 O 3:进位指示 = 1,相加结果>65535; = 0,相加结果≦65535<br />

【示例】<br />

40021<br />

10025 40027<br />

ADDB<br />

40021 #0001<br />

40020<br />

ADDB<br />

40020<br />

【说明】本例是长字组与单一字组相加的应用实例:输入接点 10025 由’OFF’∏’ON’,寄存器 40027 的值 65530 加寄存器 40021 的值<br />

00010 并将结果放入 40021 内,因其和大于 65535,会使 O3 输出为’ON’因而执行第 2 个加法器运算。<br />

00000<br />

40020 00001 +00001<br />

40021 00010 00001<br />

40027 65530 00010 控制第 2 个加法器动作<br />

+65530<br />

65540<br />

65540 = 10000 (hex)+00004


§2-3 8 位数十进制加法器 ADDL<br />

ADDL 8 位数十进制加法器<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 ADDL O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 26<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~9999 Lword+Lword→Lword (Decimal)<br />

指令说明:本加法器系经由外部的控制将设置的 2 个 8 位数的十进制数值相加并储存其结果。在控制动作方面,外部信号可控制<br />

加法器的动作与否。指令输出方面可以表示加法器是否执行及其结果是否进位。<br />

节点说明:<br />

上节点:被加数(须


§2-4 8 位数十六进制加法器 ADBL<br />

ADBL 8 位数十六进制加法器<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 ADBL O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 27<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~65535 Lword+Lword→Lword (Binary)<br />

指令说明:本加法器系经由外部的控制将设置的 2 个 long word16 位数值相加并储存其结果。在控制动作方面,外部信号可控制<br />

加法器的动作与否。指令输出方面可以表示加法器是否执行及其结果是否溢位。<br />

节点说明:<br />

输入控制说明:<br />

上节点:被加数 中节点:加数 下节点:相加的和(上节点+中节点)<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

功能输出说明:O 1= I 1 O 2= 0<br />

【示例】<br />

O 3:溢位指示 = 1,相加结果>4294967295 (=100000000 hex); = 0,相加结果≦4294967295 (=100000000 hex)<br />

40021<br />

10025 40027<br />

ADBL<br />

40030<br />

【说明】本例是两个长字组相加的应用实例:输入接点 10025 导通时,长字组寄存器 40027 的值 09999 加长字组寄存器 40021 的值 09999<br />

并将结果放入长字组寄存器 40030 内,因其和小于 FFFFFFFF (hex),故应用指令的功能输出状态为 O 1=ON、O 2=O 3=OFF。<br />

40021 00000<br />

40022 09999<br />

40027 00000 09999<br />

40028 09999 +09999<br />

40029 19998<br />

40030 00000<br />

40031 19998


§2-5 浮点数加法器 FADD<br />

FADD 浮点数加法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 FADD O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 28<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~65535 float+float(or constant)→float<br />

本加法器系经由外部的控制将设置的浮点数与浮点数或常数相加并储存其结果。在控制动作方面,外部信号可激活加法器的动作。<br />

指令输出方面可以表示加法器是否执行。<br />

节点说明:<br />

上节点:被加数(占用 2 words - 浮点数)<br />

中节点:加数-浮点数(占用 2 words)或常数(占用 1 word)<br />

下节点:相加的和(占用 2 words - 浮点数) (上节点+中节点)<br />

输入控制说明:I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

功能输出说明:O 1= I 1 O 2= 0 O 3= 0<br />

【示例】<br />

40010<br />

10025 40020<br />

FADD<br />

40030<br />

【说明】本例是两个浮点数相加的应用实例:输入接点 10025 导通时,浮点数寄存器 40010 的值 3000 加另一浮点数寄存器 40020 的值<br />

5000 并将结果放入浮点数寄存器 40030 内,功能输出状态为 O 1=ON、O 2=O 3=OFF。<br />

40010 BB80 (=3000)<br />

40011 005C<br />

40020 9C40 (=5000)<br />

40021 005D<br />

40030 FA00 (=8000)<br />

40031 005D


§2-6 4 位数十进制减法器 SUB<br />

SUB 4 位数十进制减法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 SUB O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 29<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~9999 word-word→word (Decimal)<br />

本减法器系经由外部的控制将设置的 2 个十进制数值相减并储存其结果。在控制动作方面,外部信号可控制减法器的动作与否。指<br />

令输出方面可以表示被减数与减数的间的关系(>、=、


§2-7 4 位数十六进制减法器 SUBB<br />

SUBB 4 位数十六进制减法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 SUBB O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 30<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~65535 word-word→word (Binary)<br />

本减法器系经由外部的控制将设置的 2 个十六进制数值相减储存其结果。在控制动作方面,外部信号可控制减法器的动作与否。<br />

指令输出方面可以表示被减数与减数的间的关系(>、=、0 (上节点>中节点) O 2:两数相减的结果=0 (上节点>中节点)<br />

O 3:两数相减的结果中节点)<br />

40001 ( )<br />

00080 00011<br />

40002 ( )<br />

SUBB 00012<br />

40003 ( )<br />

00013<br />

【说明】设(40001)=9000(10)、(40002)=9000(10),当接点 00080 导通时执行减法运算;其表达式为:(40003)=(40001)-(40002)此时,<br />

因上节点值=中节点值,输出接点 00012 为’ON’。<br />

40001 09000 9000<br />

40002 09000 - 9000<br />

40003 00000 0000


§2-8 8 位数十进制减法器 SUBL<br />

SUBL 8 位数十进制减法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 SUBL O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 31<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~65535 Lword-Lword→Lword (Decimal)<br />

本减法器系经由外部的控制将设置的 2 个 long word 的十进制数值相减并储存其结果。在控制动作方面,外部信号可控制减法器的<br />

动作与否。指令输出方面可以表示被减数与减数的间的关系(>、=、


§2-9 8 位数十六进制减法器 SBBL<br />

SBBL 8 位数十六进制减法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 SBBL O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 32<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~65535 Lword-Lword→Lword(Binary)<br />

本减法器系经由外部的控制将设置的 2 个 long word 的十六进制数值相减并储存其结果。在控制动作方面,外部信号可控制减法器<br />

的动作与否。指令输出方面可以表示被减数与减数的间的关系(>、=、0 (上节点>中节点) O 2:两数相减的结果=0 (上节点=中节点)<br />

O 3:两数相减的结果


§2-10 浮点数减法器 FSUB<br />

FSUB 浮点数减法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 FSUB O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 33<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~65535 Float(or constant)-float(or constant)→float<br />

本减法器系经由外部的控制将设置的 2 个浮点数或常数相减并储存其结果。在控制动作方面,外部信号可控制减法器的动作与否。<br />

指令输出方面可以表示减法器是否执行。<br />

节点说明:<br />

输入控制说明:<br />

上节点:被减数-浮点数(占用 2 words) ,常数(占用 1 word)<br />

中节点:减数-浮点数(占用 2 words) ,常数(占用 1 word)<br />

下节点:相减的结果(占用 2 words-浮点数) (上节点-中节点)<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

功能输出说明:<br />

O 1:两数相减的结果>0 (上节点>中节点) O 2:两数相减的结果=0 (上节点=中节点)<br />

O 3:两数相减的结果


§2-11 4 位数十进制乘法器(Long Word 型) MUL<br />

MUL 4 位数十进制乘法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 MUL O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 34<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~9999 word×word→Lword (Decimal)<br />

本乘法器的功能系执行 2 个十进制数值的乘法并储存其结果。在控制动作方面,外部信号可控制乘法器的动作与否及前级的错误输<br />

入。指令输出方面可以表示乘法器是否执行及错误的指示。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:被乘数(须≤9999) 中节点:乘数(须≤9999) 下节点:相乘的结果<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能 I 2:前级错误输入<br />

O 1= I 1 O 2= 1,当上、中节点的输入数据>9999 或 I 2= 1(下节点的数据保持前一次的结果)<br />

O 3:溢出指示 = 1,相乘的结果≧100000000; = 0,相乘的结果


§2-12 4 位数十六进制乘法器(Long Word 型) MULB<br />

MULB 4 位数十六进制乘法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 MULB O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 35<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~65535 word×word→Lword (Binary)<br />

本乘法器的功能系执行 2 个十六进制数值的乘法并储存其结果。在控制动作方面,外部信号可控制乘法器的动作与否。<br />

指令输出方面可以表示乘法器有否动作。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:被乘数 中节点:乘数 下节点:相乘的结果(占用 2 words-以 long word 的型态储存)<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

O 1= I 1 O 2= 0 O 3= 0<br />

10007<br />

40005<br />

40006<br />

MULB<br />

40036<br />

【说明】若寄存器(40005)=2500、(40006)=1100,当输入接点 10007 导通时执行乘法运算;<br />

其表达式为:长字(40036)=(40005)×(40006)<br />

40005 2500 (dec) 2500×1100=2750000 结果要储存到 long word 寄存器 40036 内<br />

40006 1100 (dec)<br />

40036 0029 (hex)<br />

40037 F630 (hex)<br />

(注)地址(40036 与 40037)其储存内容如下表所示。


§2-13 4 位数十进制乘法器(Word 型) MULM<br />

MULM 4 位数十进制乘法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 MULM O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 36<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~9999 word×word→word (Decimal)<br />

本乘法器系经由外部的控制将设置的 2 个十进制数值相乘并储存其结果。在控制动作方面,外部信号可控制乘法器的动作与否。指<br />

令输出方面可以表示乘法器有否动作与溢出指示。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:被乘数(须


§2-14 4 位数十六进制乘法器(Word 型) MLBM<br />

MLBM 4 位数十六进制乘法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 MLBM O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 37<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~65535 word×word→word (Binary)<br />

本乘法器系经由外部的控制将设置的 2 个十六进制数值相乘并储存其结果。在控制动作方面,外部信号可控制乘法器的动作与否。<br />

指令输出方面可以表示乘法器的激活、溢出指示。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:被乘数 中节点:乘数 下节点:相乘的积(占用 1 words-以 word 的型态储存)<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

O 1= I 1 O 2= 0 O 3:溢出指示 = 1,相乘的结果≧65536; = 0,相乘的结果


§2-15 8 位数十进制乘法器(Long Word 型) MULL<br />

MULL 8 位数十进制乘法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 MULL O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 38<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~65535 Lword×Lword→Lword (Decimal)<br />

本乘法器系经由外部的控制将设置的 2 个长字十进制数值数值相乘并储存其结果。在控制动作方面,外部信号可控制乘法器的动作<br />

与否。 指令输出方面可以表示乘法器的激活、溢出指示。<br />

节点说明:<br />

上节点:被乘数(须≤99999999) 中节点:乘数(须≤99999999) 下节点:相乘的积(占用 2 words-以 long word 的型态储存)<br />

输入控制说明:<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

功能输出说明:<br />

【示例】<br />

O 1= I 1 O 2= 0 O 3:溢出指示 = 1,相乘的结果≧100000000; = 0,相乘的结果


§2-16 8 位数十六进制乘法器(Long Word 型) MLBL<br />

MLBL 8 位数十六进制乘法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 MLBL O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 39<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~65535 Lword×Lword→Lword (Binary)<br />

本乘法器系经由外部的控制将设置的 2 个 long word 十六进制数值相乘并储存其结果。在控制动作方面,外部信号可控制乘法器的<br />

动作与否。指令输出方面可以表示乘法器的激活、溢出指示。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:被乘数 中节点:乘数 下节点:相乘的积(占用 2 words - 以 long word 的型态储存)<br />

I 1:动作控制 输入动作时( 、 )执行运算功能<br />

O 1= I 1 O 2= 0 O 3:溢出指示= 1,相乘结果≧4294967296 (=100000000 hex); = 0,相乘结果


§2-17 浮点数乘法器 FMUL<br />

FMUL 浮点数乘法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 FMUL O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 40<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~65535 float×float(or constant)→float<br />

本浮点乘法器系经由外部的控制将设置的 2 个浮点数或浮点数与常数相乘并储存其结果。在控制动作方面,外部信号可控制乘法器<br />

的动作与否。指令输出方面可以表示乘法器是否执行。<br />

节点说明:<br />

输入控制说明:<br />

上节点:被乘数(占用 2 words-浮点数)<br />

中节点:乘数浮点数(占用 2 words)或常数(占用 1 word) 下节点:相乘的结果(占用 2 words-浮点数)<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

功能输出说明:<br />

【示例】<br />

O 1= I 1 O 2= 0 O 3= 0<br />

40010 40010 9C40 (=05000)<br />

10025 40020 40011 005D<br />

FMUL<br />

40030<br />

40020 8000 (=00002)<br />

40021 0052<br />

40030 9C40 (=10000)<br />

40031 005E<br />

【说明】本例是两个浮点数相乘的应用实例:输入接点 10025 导通时,浮点数寄存器 40010 的值 5000 乘上另一浮点数寄存器 40020<br />

的值 2 并将结果放入浮点数寄存器 40030 内,功能输出状态为 O 1=ON、O 2=O 3=OFF。


§2-18 4 位数十进制除法器(Long Word 型) DIV<br />

DIV 4 位数十进制除法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 DIV O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 41<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~9999 Lword(or constant)÷word(or constant)→word (Decimal)<br />

本除法器系经由外部的控制将设置的 2 个十进制数值相除并储存其结果。在控制动作方面,外部信号可控制除法器的动作与否。指<br />

令输出方面可以表示除法器的激活、除 0 显示及除法溢出的状态。<br />

节点说明:<br />

输入控制说明:<br />

小数<br />

上节点:被除数(若为常数立即值时须≤9999;当操作数不为立即值时会取 long word 值为被除数)<br />

中节点:除数(须≤9999)<br />

下节点:相除的商及余数或商及小数四位数(占用 2 words:第一个 word 为商,第二个 word 为余数或 4 位数小数)<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

功能输出说明:<br />

I 2:选择相除后结果第二个 word 要储存余数或小数 =0,第二个 word 储存余数; =1,第二个 word 储存小数点后 4 位<br />

I 3:前级错误输入<br />

O 1= I 1 O 2= 除法器溢出执行指示 = 1,(商>9999) O 3:错误输出(输入数据>9999、中节点= 0 或 I 3= 1)<br />

【示例】<br />

40090 ( ) 40053 00999 商数<br />

10005 00035 40054 09000 小数<br />

40130 ( )<br />

DIV 00065 40090 00000 被除数<br />

40053 ( ) 40091 09999<br />

00095<br />

40130 00010 除数<br />

【说明】当输入接点 10005 导通时,I 1 导通;假设 long word(40090)=9999,(40130)=10,40053 存放除法运算后所得到的商(=999);<br />

因为 I 2 导通所以 40054 的内容存放的是运算后的小数点以下 4 位小数(=9000)


§2-19 4 位数十六进制除法器(Long Word 型) DIVB<br />

DIVB 4 位数十六进制除法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 DIVB O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 42<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~65535 Lword(or constant)÷word(or constant)→word (Binary)<br />

本除法器系经由外部的控制将设置的 2 个十六进制数值相除并储存其结果。在控制动作方面,外部信号可控制除法器的动作与否。<br />

指令输出方面可以表示除法器的激活、除 0 显示及除法溢出的状态。<br />

节点说明:<br />

输入控制说明:<br />

上节点:被除数(long word)或常数(constant) 中节点:除数<br />

下节点:相除的商及余数或商及小数四位数(占用 2 words:第一个 word 为商,第二个 word 为余数或 4 位小数)<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

I 2:选择相除后结果第二个 word 要储存余数或小数 = 0,第二个 word 储存余数; = 1,第二个 word 储存小数点后<br />

4 位数<br />

功能输出说明:<br />

【示例】<br />

O 1= I 1 O 2= 除法器溢出指示 = 1,(商>65535) O 3:除 0 指示 =1,除数为 0<br />

40090 ( ) 40053 05461 商数<br />

10005 00035 40054 00003 余数<br />

40130 ( )<br />

DIVB 00065 40090 00000 被除数<br />

40053 ( ) 40091 65535<br />

00095<br />

40130 00012 除数<br />

【说明】当输入接点 10005 导通时,I 1 导通;假设 long word(40090)=65535,(40130)=12,40053 存放除法运算后所得到的商(=5461);<br />

因为 I 2 不导通所以 40054 的内容存放的是运算后余数(=0003)


§2-20 4 位数十进制除法器(Word 型) DIVM<br />

DIVM 4 位数十进制除法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 DIVM O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 43<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

0~9999 Word(or constant)÷word(or constant)→word (Decimal)<br />

本除法器系经由外部的控制将设置的 2 个十进制数值相除并储存其结果。在控制动作方面,外部信号可控制除法器的动作与否。指<br />

令输出方面可以表示除法器的激活、除 0 显示。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:被除数(须≤9999) 中节点:除数(须≤9999)<br />

下节点:相除的商及余数或商及小数四位数(占用 2 words:第一个 word 为商,第二个 word 为余数或 4 位小数)<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

I 2:选择相除后结果第二个 word 要储存余数或小数<br />

= 0,第二个 word 储存余数 = 1,第二个 word 储存小数点后 4 位数<br />

I 3:前级错误输入<br />

O 1= I 1 O 2= 0 O 3:错误输出(输入数据>9999、中节点= 0 或 I 3= 1)<br />

40090 ( ) 40053 00999 商数<br />

10005 00035 40054 09000 小数<br />

40130 ( )<br />

DIVM 00065 40090 09999 被除数<br />

40053 ( )<br />

00095<br />

40130 00010 除数<br />

【说明】当输入接点 10005 导通时,I1 导通;假设寄存器(40090)=9999,(40130)=10,40053 存放除法运算后所得到的商(=999);<br />

因为 I 2 导通所以 40054 的内容存放的是运算后的小数点以下 4 位小数(=9000)


§2-21 4 位数十六进制除法器(Word 型) DVBM<br />

DVBM 4 位数十六进制除法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 DVBM O 2<br />

I 3 下节点 O 3<br />

0~65535<br />

<strong>VLadder</strong> 编程软件使用手册 44<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

Word(or constant)÷word(or constant)→word (Binary)<br />

本除法器系经由外部的控制将设置的 2 个十六进制数值相除并储存其结果。在控制动作方面,外部信号可控制除法器的动作与否。<br />

指令输出方面可以表示除法器的激活、除 0 显示。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:被除数 中节点:除数<br />

下节点:相除的商及余数或商及小数四位数(占用 2 words:第一个 word 为商,第二个 word 为余数或 4 位小数)<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

I 2:选择相除后结果第二个 word 要储存余数或小数<br />

= 0,第二个 word 储存余数 = 1,第二个 word 储存小数点后 4 位数<br />

O 1= I 1 O 2= 0 O 3:除 0 指示 = 1,除数为 0<br />

40090 ( ) 40053 00999 商数<br />

10005 00035 40054 09000 小数<br />

40130 ( )<br />

DVBM 00065 40090 09999 被除数<br />

40053 ( )<br />

00095<br />

40130 00010 除数<br />

【说明】当输入接点 10005 导通时,I1 导通;假设寄存器(40090)=65535,(40130)=12,40053 存放除法运算后所得到的商(=5461);<br />

因为 I 2 不导通所以 40054 的内容存放的是运算后余数(=0003)


§2-22 8 位数十进制除法器(Long Word 型) DIVL<br />

DIVL 8 位数十进制除法器<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 DIVL O 2<br />

I 3 下节点 O 3<br />

0~65536<br />

<strong>VLadder</strong> 编程软件使用手册 45<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

Lword(or constant)÷Lword(or constant)→Lword (Decimal)<br />

指令说明:本除法器系经由外部的控制将设置的 2 个十进制 long word 数值相除并储存其结果。在控制动作方面,外部信号可控<br />

制除法器的动作与否。指令输出方面可以表示除法器的激活、除 0 显示。<br />

节点说明:<br />

上节点:被除数(须≤99999999) 中节点:除数(须≤99999999)<br />

下节点:相除的商及余数或商及小数 8 位数(占用 4 words:第一、二个 word 为商,第三、四个 word 为余数或 8 位小<br />

数)<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

I 2:选择相除后结果第三、四个 word 要储存余数或 8 位小数<br />

= 0,第三、四个 word 储存余数 = 1,第三、四个 word 储存小数点后 8 位数<br />

I 3:前级错误输入<br />

O 1= I 1 O 2= 0 O 3:错误输出(输入数据>99999999、中节点= 0 或 I 3= 1)<br />

40090 ( ) 40053 00909 商数<br />

10005 00035 40054 00909<br />

40130 ( ) 40055 00000 余数<br />

DIVL 00065 40056 00000<br />

40053 ( )<br />

00095 40090 09999 被除数<br />

40091 09999<br />

40130 00000 除数<br />

40131 00011<br />

【说明】当输入接点 10005 导通时,I1 导通;假设长字(40090)=99999999,长字(40130) =11,长字(40053)存放除法运算后所得到<br />

的商(即 9090909);因为 I 2 不导通所以寄存器 40055 及 40056 的内容存放的是运算后的余数(即 0000)


§2-23 8 位数十六进制除法器(Long Word 型) DVBL<br />

DVBL 8 位数十六进制除法器<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 DVBL O 2<br />

I 3 下节点 O 3<br />

0~65535<br />

<strong>VLadder</strong> 编程软件使用手册 46<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

Lword(or constant)÷Lword(or constant)→Lword<br />

指令说明:本除法器系经由外部的控制将设置的 2 个十六进制 long word 数值相除并储存其结果。<br />

在控制动作方面,外部信号可控制除法器的动作与否。指令输出方面可以表示除法器的激活、除 0 显示。<br />

节点说明:上节点:被除数 中节点:除数<br />

下节点:相除的商及余数或商及小数 8 位数(占用 4 words:第一、二个 word 为商,第三、四个 word 为余数或 8 位小<br />

数)<br />

输入控制说明:I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

I 2:选择相除后结果第三、四个 word 要储存余数或 8 位小数<br />

= 0,第三、四个 word 储存余数 = 1,第三、四个 word 储存小数点后 8 位数<br />

功能输出说明:O 1= I 1 O 2= 0 O 3:除 0 指示 =1,除数为 0<br />

【示例】<br />

40090 ( ) 40053 0004 商数(=277654)<br />

10005 00035 40054 3C96<br />

40130 ( ) 40055 0000 余数(=0)<br />

DVBL 00065 40056 0000<br />

40053 ( )<br />

00095 40090 1234 被除数<br />

40091 5678 (=305419896)<br />

40130 0000 除数(=1100)<br />

40131 044C<br />

以十六进制表示<br />

【说明】当输入接点 10005 导通时,I 1、I 2 皆导通;假设长字(40090)=305419896,长字(40130) =1100,长字(40053)存放除法运算<br />

后所得到的商(=277654);因为 I 2 不导通所以寄存器 40055 及 40056 的内容存放的是运算后余数(=0000)


§2-24 浮点数除法器 FDIV<br />

FDIV 浮点数除法器<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 FDIV O 2<br />

I 3 下节点 O 3<br />

0~65535<br />

<strong>VLadder</strong> 编程软件使用手册 47<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

Float(or constant)÷float(or constant)→float<br />

指令说明:本除法器系经由外部的控制将设置的 2 个浮点数相除并储存其结果。在控制动作方面,外部信号可控制除法器的动作<br />

与否。指令输出方面可以表示除法器是否执行及除数是否为 0。<br />

节点说明:<br />

上节点:被除数(占用 2 words-浮点数) 中节点:除数(占用 2 words-浮点数) 下节点:相除的结果<br />

输入控制说明:I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

功能输出说明: O 1= I 1 O 2= 0 O 3:除 0 指示 = 1,除数为 0<br />

【示例】<br />

40010<br />

10025 40020<br />

FDIV<br />

40030<br />

【说明】本例是两个浮点数相除的应用实例:输入接点 10025 导通时,浮点数寄存器 40010 的值 5000 除以另一浮点数寄存器 40020<br />

的值 2 并将结果放入浮点数寄存器 40030 内,功能输出状态为 O1=ON、O2=O3=OFF。 40010 9C40 (=5000)<br />

40011 005D<br />

40020 8000 (=2)<br />

40021 0052<br />

40030 9C40 (=2500)<br />

40031 005C


§2-25 计算整数平方根 ISQR<br />

ISQR 计算整数平方根<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

ISQR<br />

I 2 下节点 O 2<br />

<strong>VLadder</strong> 编程软件使用手册 48<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

整数平方根指令是经由外部的控制将设置的整数数值计算出其平方根值。在控制动作方面,外部信号可控制本应用指令的动作<br />

与否。指令输出方面可以表示本应用指令是否执行。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:欲求平方根的整数值<br />

下节点:计算后的平方根结果<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

O 1= I 1 O 2= 0<br />

40120<br />

ISQR<br />

40130<br />

【说明】假设欲求平方根的整数为(40120)=400,则当 PLC 开始执行时,会将此数值求得平方根之后,再存入下节点所指定的地址内<br />

(40130)。<br />

40120 00400 开平方根<br />

40130 00020


§2-26 计算浮点数平方根 FSQR<br />

FSQR 计算浮点数平方根<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

FSQR<br />

I 2 下节点 O 2<br />

<strong>VLadder</strong> 编程软件使用手册 49<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

浮点数平方根指令是经由外部的控制将设置的浮点数数值计算出其平方根值。在控制动作方面,外部信号可控制本应用指令的<br />

动作与否。指令输出方面可以表示本应用程序是否执行。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:欲求平方根的浮点运算值 下节点:计算后的平方根结果<br />

I 1:动作控制 输入动作时( 、 ) 执行运算功能<br />

O 1= I 1 O 2= 0<br />

40120<br />

FSQR<br />

40130<br />

【说明】假设浮点数寄存器 40120 的内容为 2500 则当 PLC 开始姐题时,便会将此值求取平方根之后储存到浮点数寄存器 40130 内。<br />

40120 9C40 (=2500)<br />

40121 005C<br />

40130 C800 (=50)<br />

40131 0056


§3. 表格数据处理指令<br />

§3-1 寄存器向表格的数据移动 R->T<br />

R->T 寄存器向表格的数据移动<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 R->T O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 50<br />

【说明】当输入接点 10005 导通时,输入寄存器 40120 的内<br />

容,每次扫描移一个至寄存器 40101~40110 内。当 40100<br />

拷贝的指针=10 时,则输出线圈 00001 导通,当接点 00001<br />

导通时,寄存器 40100 内的指针值清除为 0,数据的移动将<br />

重复执行。<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是配合指针的指引将寄存器的内容移动到指定的表格内。在控制动作方面,外部信号可控制指令的执行、<br />

移动时指针的动作方式以及指针的清除。指令输出方面可以表示指令是否执行及指针内容是否超出表格范围。<br />

节点说明:上节点:寄存器数据来源<br />

中节点:指针与目的储存表格,第 1 个字用于存指针值,当其值为 0 时,代表指向第 1 个表格数据,第 2 个字是数据<br />

表格的开始<br />

下节点:数据表格的大小,若指针值大于或等于此值时,不论 I1 是否动作均不进行数据移动<br />

输入控制说明:I 1:动作控制 输入动作时( 、 ) 执行一次移动动作<br />

I 2:指针控制= 0,每执行一次后指针值自动加 1; = 1,指针值不变 I 3:指针清除控制= 1,指针值清除为 0<br />

功能输出说明:O 1= I 1 O 2:指针指示 = 1,指针值≧表格长度(指向的数据超出表格范围) O 3= 0<br />

【示例】<br />

10005<br />

00001<br />

40120<br />

40100 ( )<br />

R->T 00001<br />

#00010<br />

40101+0 40100 00000 0000+1 00001 40100<br />

指针 40101 00002 00555 40101<br />

40100=0 40102 00003 指针 00003 40102<br />

40103 40100=1 40103<br />

40104 40104<br />

40105 40105<br />

40106 40106<br />

40107 40107<br />

40108 40108<br />

40109 40109<br />

40110 40110<br />

执行前 40120 00555 执行后 00555 40120


§3-2 表格向寄存器的数据移动 T->R<br />

T->R 表格向寄存器的数据移动<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 T->R O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 51<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是配合指针的指引将表格内容移动到指定的寄存器内。在控制动作方面,外部信号可控制指令的执行、移<br />

动时指针的动作方式以及指针的清除。指令输出方面可以表示指令是否执行及移动的动作是否结束。<br />

节点说明:上节点:表格数据,拷贝来源 下节点:表格的大小<br />

中节点:指针与目的储存表格,第一个 word 为指针寄存器,当其值为零时,代表指向第一个表格数据,第二个 word<br />

为目的寄存器即拷贝的去处<br />

输入控制说明: I1:动作控制 输入动作时( 、 ) 执行指令功能,每次执行时仅移动一组数据<br />

I 2:指针控制 = 0,每移动一组数据后指针值自动加 1; = 1,指针值不变<br />

I 3:指针清除控制 = 1,指针值清除为 0<br />

功能输出说明:O 1= I 1 O 2:指针指示 = 1,指针值≧表格长度(指针值超出表格范围) O 3= 0<br />

【示例】<br />

40200 n<br />

40201 0<br />

10054<br />

00129<br />

40101<br />

40200 ( )<br />

T->R 00129<br />

#00050<br />

40101 00001 0<br />

40102 00002 1 指针<br />

40103 00003 2 40200<br />

【说明】当输入接点 10054 导通时,指针所指到表格内<br />

的数据,移动至 40201 的位置,PLC 每扫描一次,便做<br />

一次数据的移动,若指针指到表格的底部时,则输出接<br />

点 00129 导通,便会重复执行数据的移动。<br />

执行前 40101+n 00109 n n+1 40200<br />

40150 00150 49 表格底部 执行后<br />

表 格<br />

00109 40201


§3-3 表格向表格的数据移动 T->T<br />

T->T 表格向表格的数据移动<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 T->T O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 52<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是配合指针的指引将表格数据移动到指定的表格内。在控制动作方面,外部信号可控制指令的执行、移动<br />

时指针的动作方式以及指针的清除。指令输出方面可以表示指令是否执行及移动的动作是否结束。<br />

节点说明:上节点:表格数据来源 下节点:表格的大小<br />

中节点:指针与目的储存表格,第一个 word 为指针寄存器,当其值为零时,代表指向第一个表格数据,第二个 word<br />

开始为目的寄存器即拷贝的去处<br />

输入控制说明: I 1:动作控制 输入动作时( 、 ) 执行指令功能,每次执行时仅移动一组数据<br />

I2:指针控制= 0,每移动一组数据指针值自动加 1; = 1,指针值不变 I 3:指针清除控制= 1,指针值清除为 0<br />

功能输出说明:O 1= I 1 O 2:指针指示 = 1,指针值≧表格长度(指针超出表格范围) O 3= 0<br />

【示例】<br />

10001<br />

00001<br />

30001<br />

40100 ( )<br />

T->T 00001<br />

#00006<br />

来源表格 指针 40100 目的表格<br />

0 40100 00000<br />

30001 00111 40101 00111<br />

30002 00222 40102 00000<br />

30003 00333 40103<br />

30004 00444 40104<br />

30005 00555 40105<br />

30006 00666 40106<br />

执行前<br />

指针<br />

0 40100 00006<br />

30001 00111 40101 00111<br />

30002 00222 40102 00222<br />

30003 00333 40103 00333<br />

30004 00444 40104 00444<br />

30005 00555 40105 00555<br />

30006 00666<br />

执行 6 次扫描后<br />

40106 00666<br />

【说明】当输入接点 10001 导通经过 6 次 scan 后,存<br />

于 30001~30006 表格内的数据将移动至表格<br />

40101~40106。当寄存器 40100 内的指针值=6 时,输出<br />

接点 00001=’ON’,指针值被清为 0 数据表格的移动将<br />

重复执行,直到 10001 的状态为’OFF’。


§3-4 表格数据的比较 T_CM<br />

T_CM 表格数据的比较<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 T_CM O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 53<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是在两个表格中找出不同数据的位置。在控制动作方面,外部信号可控制指令的执行、比较动作的起始地<br />

址。指令输出方面可以表示指令是否执行及表格数据是否相同。<br />

节点说明:上节点:表格数据来源 下节点:表格的大小<br />

输入控制说明:<br />

中节点:指针与比较用的对应表格数据来源,第一个 word 用于指示不同数据的地址,表格数据从第二个 word 开始<br />

I 1:动作控制 输入动作时( 、 ) 执行比较功能,每次执行时,依照 I2 的状态,持续比较直到找到不同的<br />

数据或表格结束时,才停止执行。当执行结束时,指针指向相异数据的位置,若没找到相异数据则为 0。<br />

I 2:比较地址的指定= 0,从目前指针所指的地址的下一个地址,继续上一次的比较动作; = 1,从第一个地址开始比较<br />

功能输出说明:O 1= I 1 O 2:比较结果指示 = 1,表格内容数据不同 O 3 与 O 2 相反<br />

【示例】<br />

【说明】输入接点 10005 导通时,由 40211 起始的表格<br />

40211<br />

将与由 40451 起始的表格作比较,因二表格的第 6 个地<br />

10005<br />

址内容不同所以指针寄存器(40450)=00006(10), 且输<br />

40450 ( )<br />

出接点 00001 ‘ON’。<br />

T_CM 00001<br />

#00010 ( )<br />

00002<br />

执行前指针(40450)为 0 指针开始 1<br />

40450 00006<br />

40211 00111 40451 00111<br />

40212 00222 40452 00222<br />

40213 00333 40453 00333<br />

40214 00000 40454 00000<br />

40215 00000 40455 00000<br />

40216 00000 40456 00666<br />

40217 00000 40457 00000<br />

40218 00000 40458 00000<br />

40219 00000 40459 00000<br />

40220 00999 40460 00999<br />

指针结果 45450 6<br />

∵ 00000≠00666<br />

∴ O2=ON<br />

O3=OFF


§3-5 表格数据的查找 T_SR<br />

T_SR 表格数据的查找<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 T_SR O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 54<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是在于寻找表格数据中与设置的寻找值相同的数据位置。在控制动作方面,外部信号可控制指令的执行、<br />

寻找动作的起始地址。指令输出方面可以表示指令是否执行及是否有相符的值。<br />

节点说明:上节点:表格数据来源 下节点:表格数据的长度<br />

中节点:指针与预设的查找数据,第一个 word 用于存放查找结果,代表表格中第几个数据和查找数据相同,第二个<br />

word 是存放欲查找的数据。<br />

输入控制说明:I 1:动作控制 输入动作时( 、 ) 执行指令功能,执行时,依照 I2 的状态,持续查找直到找到相同数据<br />

的位置或表格结束才停止<br />

I 2:比较地址的指定= 0,从目前指针所指地址的下一个地址,继续上一次的查找; =1,从第一个地址开始查找<br />

功能输出说明:O 1= I 1 O 2:查找结果指示 = 1,有查找到设置值 O 3 与 O 2 相反<br />

【示例】<br />

40211<br />

10005 40206 ( )<br />

T_SR 00010<br />

#00010<br />

40206 00006<br />

40207 00666<br />

指针<br />

40211 00111 1<br />

40212 00222 2<br />

40213 00333 3<br />

40214 00000 4<br />

40215 00000 5<br />

40216 00666 6<br />

40217 00000 7<br />

40218 00000 8<br />

40219 00000 9<br />

40220 00999 10<br />

【说明】当输入接点 10005 导通时,从起始位置 40211~<br />

40220(长度为 10 个 word)开始进行表格的搜寻的动作,<br />

寻找表格中与寄存器 40207 内数据相同的值;依下表所<br />

示因(40216)=00666=(40207),所以指针寄存器所储存<br />

的数据为 00006 且输出接点 00010 ’ON’。


§3-6 表格数据的旋转/移动 T_RS<br />

T_RS 表格数据的旋转/移动<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 T_RS O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 55<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是在于将表格内的数据做 word 的数据旋转或移动。在控制动作方面,外部信号可控制指令的执行、数据动<br />

作方式及数据动作方向。指令输出方面可以表示指令是否执行。<br />

节点说明: 移动模式<br />

上节点:表格数据来源 Wn Wn-1 W2 W1<br />

中节点:存放经过应用指令运作过后的数据 左移 0<br />

下节点:表格的大小<br />

输入控制说明: Wn Wn-1 W2 W1<br />

I 1:动作控制输入动作时( 、 ) 执行指令功能 右移 0<br />

I 2:数据移动的方向 = 0,向左 = 1,向右 旋转模式<br />

I 3:数据移动的方式 = 0,移动 = 1,旋转 Wn Wn-1 W2 W1<br />

功能输出说明: 左旋<br />

【示例】<br />

O 1= I 1<br />

O 2= 0 Wn Wn-1 W2 W1<br />

O 3= 0 右旋<br />

40010 11111<br />

40011 22222<br />

40012 33333<br />

40020 22222<br />

40021 33333<br />

40022 11111<br />

40010<br />

10001 40020 ( )<br />

T_RS 00010<br />

#00003<br />

【说明】如上图输入接点 10001 产生一次 OFFON 的变<br />

化时,功能方块的执行是以 word 为单位对 40010~40012<br />

所构成的表格数据做向右旋转的动作。<br />

33333 22222 11111<br />

<br />

11111 33333 22222


§3-7 表格数据的互换 TXHG<br />

TXHG 表格数据的互换<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 TXHG O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 56<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是在于将两个表格内数据做数据的交换。在控制动作方面,外部信号可控制指令的执行。指令输出方面可<br />

以表示指令是否执行。<br />

节点说明:<br />

输入控制说明:<br />

上节点:第一个表格数据 中节点:第二个表格数据 下节点:表格的大小<br />

I 1:动作控制 输入动作时( 、 ) 执行指令功能,将上、中节点所构成的表格数据做交换<br />

功能输出说明:O 1= I 1 O 2= 0 O 3= 0<br />

【示例】<br />

40010<br />

10001 40020<br />

TXHG<br />

#00005<br />

40010 01111 40020 06666<br />

40011 02222 40021 07777<br />

40012 03333 40022 08888<br />

40013 04444 40023 09999<br />

40014 05555 40024 00000<br />

执行前<br />

40010 06666 40020 01111<br />

40011 07777 40021 02222<br />

40012 08888 40022 03333<br />

40013 09999 40023 04444<br />

40014 00000 40024 05555<br />

执行后<br />

【说明】输入接点 10001 导通时,功能方块将会执行<br />

40010~40014 以及 40020~40024 二个表格内<br />

数据互换的动作。


§3-8 区块数据的移动 BLKM<br />

BLKM 区块数据的移动<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 BLKM O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 57<br />

【说明】输入接点 10001 导通时,功能方块便执行将由<br />

40211~40220 所构成的表格数据搬移到由 40451~40460<br />

所构成的表格内。<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 ↑<br />

0~65535 ↑1~255<br />

指令说明:本应用指令是在于将区块内的数据移动到另一区块。在控制动作方面,外部信号可控制指令的执行。指令输出方面可<br />

以表示指令是否执行。<br />

节点说明:<br />

上节点:来源区块的起始地址<br />

中节点:目的区块的起始地址<br />

下节点:区块长度<br />

输入控制说明:<br />

I1:动作控制 输入动作时( 、 ) 执行区块数据的移动动作<br />

功能输出说明:<br />

【示例】<br />

O 1= I 1 O 2= 0 O 3= 0<br />

40211<br />

10001 40451<br />

BLKM<br />

#00010<br />

40211 01111 40451 00000 40451 01111<br />

40212 02222 40452 00000 40452 02222<br />

40213 03333 40453 00000 40453 03333<br />

40214 04444 40454 00000 40454 04444<br />

40215 05555 40455 00000 40455 05555<br />

40216 06666 40456 00000 40456 06666<br />

40217 07777 40457 00000 40457 07777<br />

40218 08888 40458 00000 40458 08888<br />

40219 09999 40459 00000 40459 09999<br />

40220 00000 40460 00000 40460 00000<br />

40461 00000<br />

执行前 执行前 执行后


§3-9 数据压入堆栈 PUSH<br />

PUSH 数据压入堆栈<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 PUSH O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 58<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是在于将指定的数据存放到堆栈区。在控制动作方面,外部信号可控制指令的执行及堆栈的作业方式。<br />

指令输出方面可以表示指令是否执行及堆栈是否已满。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例 1】<br />

上节点:来源数据(要压入堆栈的数据) 下节点:堆栈的大小<br />

中节点:堆栈指针与堆栈,第一个 word 为堆栈指针,指向堆栈顶端,当值为 0 表空堆栈。堆栈数据从第二个 word 开始。<br />

I 1:动作控制 输入动作时( 、 ) 执行数据压入堆栈的动作,每次执行后指针自动加 1<br />

I 2:数据存入堆栈方式控制 = 0,数据由指针所指定的地址压入堆栈(FILO)<br />

= 1,数据由堆栈的顶端开始存放(FIFO),原先堆栈上的数据往下移一个地址<br />

O 1= I 1 O 2:堆栈已满指示= 1,堆栈已满,即指针值=堆栈大小 O 3= 0<br />

00015<br />

40601<br />

40500<br />

PUSH<br />

#00005<br />

【说明】因 I2的输入为’OFF’,故堆栈的动作为“后进先<br />

出”简称为 LIFO;当接点 00015 有一“OFFON”的变化<br />

时,应用指令的动作如下:<br />

00000+1<br />

指针值加 1<br />

40500+0 40500 00000 40500 00001<br />

40501 00004 40501 00005<br />

40502 00008 40502 00008<br />

40503 00006 40503 00006<br />

40504 00010 40504 00010<br />

40505 00016 40505 00016<br />

40601 00005 40601 00005<br />

执行前 执行后<br />

当 00015 第二次有“OFFON”的变化时:


【示例 2】<br />

00001+1<br />

指针值加 1<br />

40500+1 40500 00001 40500 00002<br />

40501 00005 40501 00005<br />

40502 00008 40502 00009<br />

40503 00006 40503 00006<br />

40504 00010 40504 00010<br />

40505 00016 40505 00016<br />

40601 00009 40601 00009<br />

00015<br />

当 00015 第二次“OFFON”的变化时:<br />

执行前 执行后<br />

40601<br />

40500<br />

PUSH<br />

#00005<br />

00002+1<br />

指针值加 1<br />

40500 00002 40500 00003<br />

40501 00005 40501 00001<br />

40502 00009 40502 00005<br />

40503 00006 40503 00009<br />

40504 00010 40504 00006<br />

40505 00016 40505 00010<br />

40601 00001 40601 00001<br />

执行前 执行后<br />

00003+1<br />

指针值加 1<br />

40500 00003 40500 00004<br />

40501 00001 40501 00002<br />

40502 00005 40502 00001<br />

40503 00009 40503 00005<br />

40504 00006 40504 00009<br />

40505 00010 40505 00006<br />

40601 00002 40601 00002<br />

执行前 执行后<br />

<strong>VLadder</strong> 编程软件使用手册 59<br />

【说明】当 I2的输入为’ON’时,堆栈的动作为<br />

“先进先出”(简称为 FIFO);当 00015<br />

有”OFFON”的变化时,应用指令的动作如下:


§3-10 数据弹出堆栈 POP<br />

POP 数据弹出堆栈<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 POP O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 60<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是在于将数据从堆栈区取出。在控制动作方面,外部信号可控制指令的执行。指令输出方面可以表示指令<br />

是否执行及堆栈是否已空。<br />

节点说明:上节点:堆栈指针与堆栈数据,第一个 word 存放堆栈指针,指向堆栈顶端,当其值为 0 表空堆栈。堆栈数据从第二个<br />

word 开始<br />

输入控制说明:<br />

中节点:存放从堆栈读出的数据 下节点:堆栈大小<br />

I 1:动作控制 输入动作时( 、 ) 执行数据取出堆栈的动作, 执行时先将堆栈指针减 1,再依据指针指引的地址取出数据<br />

功能输出说明:O 1= I 1 O 2= 0 O 3= 堆栈状态指示 = 1,堆栈已空(stack empty),即指针值为 0<br />

【示例】<br />

【说明】当接点 10020 导通时,功能指令会从 40341 起所<br />

40340<br />

构成的堆栈区,及 43340 所指的指针值(=10)取 40350 的<br />

10020<br />

内容值放入中节点所定义的地址,如此由 10020 的导<br />

40401<br />

通来达成堆栈的动作<br />

POP<br />

#00100<br />

00010-1<br />

指针值减 1<br />

index<br />

40341+10 40340 00010 40340+9 40340 00009<br />

40341 00000 40341 00000<br />

40342 00001 40342 00001<br />

40343 00002 40343 00002<br />

40344 00003 40344 00003<br />

堆 40345 00004 40345 00004<br />

迭 40346 00005 40346 00005<br />

40347 00006 40347 00006<br />

40348 00007 40348 00007<br />

40349 00008 40349 00008<br />

40350 00009 40350 00009<br />

40341+10<br />

40401 00000 40401 00009<br />

执行前 执行后


§4. 逻辑运算指令<br />

§4-1 数组的“与”运算 AND<br />

AND 数组的“与”运算<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 AND O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 61<br />

【说明】输入接点 10025 导通时,读取 40090 与 40095 构<br />

成的数组数据内容做 AND 逻辑运算,并将运算后的结果<br />

存入目地寄存器 40095 内。<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 ↑<br />

0~65535 ↑1~255<br />

指令说明: 本应用指令是在于将两个数组内的数据作逻辑 AND 运算。在控制动作方面,外部信号可控制指令的执行。指令输出<br />

方面可以表示指令是否执行。<br />

节点说明:上节点:来源数据(若上节点为常数,则中节点的每一个元素皆直接与上节点的常数值做’AND’运算,若为寄存器则在<br />

输入控制说明:<br />

做运算时,是取相对应地址的值做’AND’运算)<br />

中节点:目的数组(与来源数组做 AND 后储存其结果) 下节点:数据数组长度<br />

I 1:动作控制 输入动作时( 、 ) 执行逻辑 AND 的运算动作<br />

功能输出说明:O 1= I 1 O 2= 0 O 3= 0<br />

【示例】<br />

【示例】<br />

40090<br />

10025 40095<br />

AND<br />

#00002<br />

40090 0E0F 0E0F 40090<br />

40091 0A0A 0A0A 40091<br />

40095 1FE1 0E01 40095<br />

40096 F11E 000A 40096<br />

#0F0Fh<br />

10025 40095<br />

AND<br />

#00002<br />

【说明】输入接点 10025 导通时,40095 构成的数组数据<br />

内容与上节点的常数做 AND 逻辑运算,并将运算后的结<br />

果存入目地寄存器 40095 内。<br />

40095 AAAA 0A0A 40090<br />

40096 DDDD 0D0D 40091


§4-2 数组的“或”运算 OR<br />

OR 数组的“或”运算<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 OR O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 62<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 ↑<br />

0~65535 ↑1~255<br />

指令说明:本应用指令是在于将两个数组内的数据作逻辑 OR 运算。在控制动作方面,外部信号可控制指令的执行。指令输出方<br />

面可以表示指令是否执行。<br />

节点说明:中节点:目的数组(与来源数组做 OR 后储存其结果) 下节点:数据数组长度<br />

输入控制说明:<br />

功能输出说明:<br />

上节点:来源数据(若上节点为常数,则中节点的每一个元素皆直接与上节点的常数值做’OR’运算,若为寄存器则在做<br />

运算时,是取相对应地址的值做’OR’运算)<br />

I 1:动作控制 输入动作时( 、 ) 执行逻辑 OR 的运算动作<br />

O 1= I 1 O 2= 0 O 3= 0<br />

【示例】 40090<br />

10025 40095<br />

OR<br />

#00002<br />

40090 0E0F 0E0F 40090<br />

40091 5555 5555 40091<br />

40095 1FE1 1FEF 40095<br />

40096 AAAA FFFF 40096<br />

【示例】 #AAAA<br />

10025 40095<br />

OR<br />

#00002<br />

【说明】输入接点 10025 导通时,读取 40090 与 40095<br />

两个数组的数据内容做 OR 逻辑运算,并将运算后的结<br />

果存入目地寄存器 40095 内。<br />

【说明】输入接点 10025 导通时,40095 构成的数组数<br />

据内容与上节点的常数做 OR 逻辑运算,并将运算后的<br />

结果存入目地寄存器 40095 内。<br />

40095 BBBB BBBB 40090<br />

40096 CCCC EEEE 40091


§4-3 数组的“异或”运算 XOR<br />

XOR 数组的“异或”运算<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 XOR O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 63<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 ↑<br />

0~65535 ↑1~255<br />

指令说明:本应用指令是在于将两个数组内的数据作逻辑 XOR 运算。在控制动作方面,外部信号可控制指令的执行。指令输出方<br />

面可以表示指令是否执行。<br />

节点说明:中节点:目的数组(与来源数组做 XOR 后储存其结果) 下节点:数据数组长度<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

【示例】<br />

上节点:来源数据(若上节点为常数,则中节点的每一个元素皆直接与上节点的常数值做’OR’运算,若为寄存器则在做<br />

运算时,是取相对应地址的值做’OR’运算)<br />

I 1:动作控制 输入动作时( 、 ) 执行逻辑 XOR 的运算动作<br />

O 1= I 1 O 2= 0 O 3= 0<br />

40090<br />

10025 40095<br />

XOR<br />

#00002<br />

40090 0E0F 0E0F 40090<br />

40091 AAAA AAAA 40091<br />

40095 1FE1 1FEF 40095<br />

40096 BBBB 1111 40096<br />

#5555h<br />

10025 40095<br />

XOR<br />

#00002<br />

【说明】输入接点 10025 导通时,读取 40090 与 40095 两个数<br />

组的数据内容做 XOR 逻辑运算,并将运算后的结果存入目地寄<br />

存器 40095 内。<br />

【说明】输入接点 10025 导通时,40095 构成的数组数据内容<br />

与上节点的常数做 XOR 逻辑运算,并将运算后的结果存入目地<br />

寄存器 40095 内。<br />

40095 BBBB EEEE 40090<br />

40096 CCCC 9999 40091


§4-4 数组的位取反运算 COMP<br />

COMP 数组的位取反运算<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 COMP O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 64<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

本应用指令是将来源数组内的数据做位取反运算。在控制动作方面,外部信号可控制指令的执行。指令输出方面可以表示指令<br />

是否执行。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:来源数组 中节点:目的数组(储存来源数据做位取反运算结果) 下节点:数据数组长度<br />

I 1:动作控制 输入动作时( 、 ) 执行位取反运算<br />

O 1= I 1 O 2= 0 O 3= 0<br />

40090<br />

10025 40095<br />

COMP<br />

#00001<br />

【说明】输入接点 10025 导通时,读取 40090 将其内容数据做位取反运算,并将运算后的结果存入目地寄存器 40095 内。<br />

40090 0E0F 0000111000001111 0E0F 40090<br />

取补码<br />

1111000111110000<br />

F1F0 40095


§5. 位处理指令<br />

§5-1 数组的位比较 CMPR<br />

CMPR 数组的位比较<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 CMPR O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 65<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是在于找出两个数组数据对应的数据位不同的处。在控制动作方面,外部信号可控制指令的执行及数据的<br />

取得地址。指令输出方面可以表示指令是否执行。<br />

b15 Wn b0 b15 W2 b0 MSb W1 LSb<br />

节点说明:上节点:来源数组 下节点:数据数组长度<br />

16 15 0<br />

中节点:指针及目的数组,第一个字内存指针值,当其值为 0 时,表示指向数组数据的最后一个位,目的数组数据从第<br />

二个字开始<br />

输入控制说明:I 1:动作控制 输入动作时( 、 ) 执行数组位的比较,当找到不同数据的位时,指针指向该位<br />

I2:起始位控制 = 0,从目前指针所指的位开始做比较 = 1,从第一个位开始做比较<br />

功能输出说明:<br />

【示例】<br />

O 1= I 1 O 2:比较结果输出 = 1,两个数组位有不相同 O 3= 0<br />

40010 ( )<br />

10001 00001<br />

40100 ( )<br />

CMPR 00002<br />

#00001<br />

40010 0F0F 0000111100001111<br />

40100 0004 指针寄存器指出第 4 个位不同<br />

40101 0F07 0000111100000111<br />

【说明】输入接点 10001 导通时,寄存器 40010 与 40101<br />

此两数组的相对应位将互做比较,因二数组的第 4 个位不<br />

相同,故指针寄存器 40100=00004(10);且输出接点 00002<br />

导通


§5-2 数组的位旋转/移动 BROT<br />

BROT 数组的位旋转/移动<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 BROT O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 66<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是在于将来源数组内数据的位做旋转或移位动作。在控制动作方面,外部信号可控制指令的执行、动作方<br />

向及动作型态。指令输出方面可以表示指令是否执行及动作状态。<br />

节点说明: 移动模式<br />

上节点:来源数组 O 2 b15 Wn b0 b15 W1 b0<br />

中节点:目的数组 左移 0<br />

下节点:数据数组长度<br />

输入控制说明: b15 Wn b0 b15 W1 b0 O 2<br />

I 1:动作控制 输入动作时( 、 ) 右移 0<br />

执行数组位的旋转/移动执行一次移动一个位 旋转模式<br />

I 2:动作方向控制 = 0,向左 = 1,向右 b15 Wn b0 b15 W1 b0<br />

I 3:动作型态控制 = 0,移动 = 1,旋转 左旋<br />

功能输出说明:<br />

O 1= I 1 O 2:移位/位状态 O 3= 0 b15 Wn b0 b15 W1 b0<br />

【示例】 40010<br />

10001<br />

40010<br />

BROT<br />

#00001<br />

右旋<br />

【说明】因 I2=I3=1 故当输入接点 10001 导通时,指令做向右旋转的功能<br />

初始值 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 40010<br />

第一次执行 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 40010<br />

第二次执行 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 40010


§5-3 数组的半字节旋转/移动 ODSR<br />

ODSR 数组半字节的旋转/移动<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 ODSR O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 67<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是在于将来源数组内数据的半字节(半字节)做旋转或移位的动作。在控制动作方面,外部信号可控制指令<br />

的执行、动作方向及动作型态。指令输出方面可以表示指令是否执行。<br />

节点说明: 移动模式<br />

上节点:来源数组 Wn Wn-1 W1<br />

中节点:目的数组 左移 0 0 0 0<br />

下节点:数据数组长度 Wn Wn-1 W1<br />

输入控制说明: 右移 0 0 0 0<br />

I 1:动作控制 输入动作时( 、 ) 旋转模式<br />

执行数组半字节的旋转/移动 Wn Wn-1 W2 W1<br />

I 2:动作方向控制 = 0,向左 = 1,向右 左旋<br />

I 3:动作型态控制 = 0,移动 = 1,旋转<br />

功能输出说明: Wn Wn-1 W2 W1<br />

【示例】<br />

O 1= I 1 O 2= 0 O 3= 0 右旋<br />

10001<br />

40010<br />

40010<br />

ODSR<br />

#00001<br />

【说明】因 I2=I 3=1 故输入接点 10001 导通时,此指令做向右旋转的动作<br />

初始值 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 40010<br />

第一次执行 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 40010<br />

第二次执行 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 40010


§5-4 数组的位更改 MBIT<br />

MBIT 数组的位更改<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 MBIT O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 68<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

1~4080 1~255<br />

本应用指令是在于将数组内数据的位做状态的更改。在控制动作方面,外部信号可控制指令的执行、变动种类及指针控制。<br />

指令输出方面可以表示指令是否执行及指针状态指示。<br />

节点说明:<br />

输入控制说明:<br />

上节点:指针值(指向变动位),当其值为 1 时,表示指向第一个位<br />

中节点:来源及目的数组 下节点:数据数组长度<br />

I 1:动作控制 输入动作时( 、 ) 执行位的变动<br />

I 2:变动状态控制,其状态会直接取代指针值指向的位 = 0,bit clear = 1,bit set<br />

I 3:指针控制 = 1且上节点为 4XXXX 时,执行后,指针值会自动加 1<br />

功能输出说明:O 1= I 1 O 2= I 2 O 3:指针超出数组范围指示 = 1,指针值超过下节点值*16<br />

【示例】<br />

10001<br />

40093<br />

40733<br />

MBIT<br />

#00003<br />

40093 0005 bit5 设置为“1”<br />

【说明】输入接点 10001 导通时,因指针寄存器 40093 内设值为<br />

5且I2导通是为设定(set)状态;所以由 40733~40735 所组成的<br />

数组其第 5 个位将被设定为 1。<br />

40733 0000 0000000000000000 0000000000010000 40733 0010<br />

40734 0000 0000000000000000 0000000000000000 40734 0000<br />

40735 0000 0000000000000000 0000000000000000 40735 0000<br />

执行前 执行后


§5-5 数组的位状态检测 SENS<br />

SENS 数组的位状态检测<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 SENS O 2<br />

I 3 下节点 O 3<br />

1~255<br />

<strong>VLadder</strong> 编程软件使用手册 69<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是在于将数组内数据的位做状态检测。在控制动作方面,外部信号可控制指令的执行、指针控制及指针复<br />

位。指令输出方面可以表示指令是否执行、检测的位状态及指针状态指示。<br />

节点说明:上节点:指针值(指向欲检测的位)当其值为 1 时,代表指向第一个位<br />

中节点:来源数组 下节点:数据数组长度<br />

输入控制说明:I 1:动作控制 输入动作时( 、 )执行位的检测<br />

I 2:指针控制 = 1,每次动作后指针值会加 1(当 I 3=1,且上节点使用 4XXXX 当做运算子时)<br />

I 3:指针控制 = 1,当上节点使用 4XXXX 做为运算子时,指针值复位<br />

功能输出说明:O 1= I 1 O 2= 检测位的状态 O 3:指针超出数组范围指示 = 1,指针值错误(指针值=0 或超过下节点值*16)<br />

【示例】<br />

10001<br />

40421<br />

40151 ( )<br />

SENS 00095<br />

#00002<br />

【说明】输入接点 10001 导通时且 I2=1 时,设<br />

(40421)=0001 为指向 40151 内容的第一个 bit 的指<br />

针,功能方块会自动检查 40151~40152 的每一位状<br />

态,并将状态由输出接点 00095 输出<br />

40421 0001 40152 0000000000000000 40151 0010001000100010<br />

0001 + 1 bit 1 = “0”<br />

00095 = OFF<br />

40421 0002 40152 0000000000000000 40151 0010001000100010<br />

指针值增加至 bit 2 = “1”<br />

所有被检查的寄存器各位检查完为止 00095 = ON


§6. 数据格式转换指令<br />

§6-1 4->16 译码器 DECO<br />

DECO 4->16 译码器<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 DECO O 2<br />

I 3 下节点 O 3<br />

0~3<br />

<strong>VLadder</strong> 编程软件使用手册 70<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令如同逻辑电路译码器一样的功能,可将 4 位的编码译码为 16 个位。在控制动作方面,外部信号可控制指令<br />

的执行。指令输出方面可以表示指令是否执行。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:译码器的输入,仅用到 4 个位(半字节)<br />

中节点:译码器的输出 下节点:选择上节点的哪一个半字节要进行译码<br />

I 1:动作控制 输入动作时( 、 ) 执行译码功能<br />

O1= I1 O 2= 0 O 3= 0<br />

10001<br />

40019<br />

40009<br />

DECO<br />

#00000<br />

40009 0200 0000 0010 0000 0000<br />

40019 2CF9 0010 1100 1111 1001<br />

【说明】输入接点 10001 导通时,假设寄存器(40019)<br />

=2CF9(h),因下节点的长度为 1,所以上节点 40019 的第 1 组译<br />

码器的输入值为 9;输出寄存器 40009 的第 10 bit 被设定为<br />

“1”即(40009)=0000001000000000B=0200h<br />

取 digit(4 bits)来译码出其对应值


4->16 译码器真值表<br />

INPUTS OUTPUT word<br />

D C B A 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1<br />

0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0<br />

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0<br />

0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0<br />

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0<br />

0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0<br />

0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0<br />

0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0<br />

1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0<br />

1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0<br />

1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0<br />

1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0<br />

1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0<br />

1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0<br />

1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0<br />

1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0<br />

16->4 编码器真值表<br />

<strong>VLadder</strong> 编程软件使用手册 71<br />

INPUTS OUTPUTS<br />

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 D C B A<br />

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0<br />

0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1<br />

0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0<br />

0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1<br />

0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0<br />

0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1<br />

0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0<br />

0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1<br />

0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0<br />

0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1<br />

0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0<br />

0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1<br />

0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0<br />

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1<br />

0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0<br />

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1


§6-2 16->4 编码器 ENCO<br />

ENCO 16->4 编码器<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 ENCO O 2<br />

I 3 下节点 O 3<br />

0~3<br />

<strong>VLadder</strong> 编程软件使用手册 72<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令如同逻辑电路编码器一样的功能,可将十六个位编码为四个位。在控制动作方面,外部信号可控制指令的<br />

执行。指令输出方面可以表示指令是否执行。<br />

节点说明:上节点:编码器的输入 中节点:编码器的输出<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

下节点:表示中节点的 4 组输出号数指示上节点编码结果应置于中节点的哪一个半字节(0~3)<br />

I 1:动作控制 输入动作时( 、 ) 执行编码功能<br />

O 1= I 1 O 2= 指示用 = 1,上节点值为 0 O 3= 0<br />

40009<br />

10001 40019<br />

ENCO<br />

#00000<br />

【说明】输入接点 10001 导通时,假设寄存器 40009=0000000001000000B=0040H,因下节点为 1 且输入寄存器的第 7 位状态为 1;<br />

所以输出寄存器 40019=0000000000000110B=0006H<br />

40009 0040 (HEX) 0000 0000 0100 0000<br />

40019 0006 (HEX) 0000 0000 0000 0110


§6-3 二进制数值转为 BCD 数值 B->C<br />

B->C 二进制数值转为 BCD 数值<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 B->C O 2<br />

I 3 下节点 O 3<br />

1~2<br />

<strong>VLadder</strong> 编程软件使用手册 73<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是将二进制码转换为 BCD 码。在控制动作方面,外部信号可控制指令的执行。指令输出方面可以表示指令<br />

是否执行及执行的结果是否有误。<br />

节点说明:上节点:数据来源(二进制数值)须十进制数值的极限(下节点为 1 时>9999,下节点为 2 时>99999999)<br />

10001<br />

40100<br />

40009<br />

B->C<br />

#00002<br />

【说明】输入接点 10001 导通时,存放于 40100、40101 的二进制数值将被转换为 BCD 码,并且存入 40009 及 40010 内<br />

40100 0000 0000 0000 0001 0001(hex)<br />

40101 0000 0000 0000 0010 0002(hex)<br />

40009 0000 0000 0000 0110 0006(BCD)<br />

40010 0101 0101 0011 1000 5538(BCD)


§6-4 BCD 数值转成二进制数值 C->B<br />

C->B BCD 数值转成二进制数值<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 C->B O 2<br />

I 3 下节点 O 3<br />

1~2<br />

<strong>VLadder</strong> 编程软件使用手册 74<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本应用指令是将 BCD 数值转换为二进制数值。在控制动作方面,外部信号可控制指令的执行。指令输出方面可以表示<br />

指令是否执行及来源数据是否有误。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:数据来源(BCD 数值) 中节点:转换后的二进制数值<br />

下节点:指示转换运算的组数(word 或 long word)<br />

I 1:动作控制 输入动作时( 、 ) 执行转换功能<br />

O 1= I 1 O 2= 指示用 = 1,来源数据不符合 BCD 格式 O 3= 0<br />

10001<br />

30009<br />

40019<br />

C->B<br />

#00002<br />

【说明】输入接点 10001 导通时,存放于 30009 内的长字 BCD 码将被转换为二进制数值并储存于长字 40019 内<br />

30009 0000 0000 0000 0110 0006 (BCD)<br />

30010 0101 0101 0011 1000 5538 (BCD)<br />

40019 0000 0000 0000 0001 0001 (hex)<br />

40020 0000 0000 0000 0010 0002 (hex)


§6-5 七段显示译码器 SSEG<br />

SSEG 七段显示器译码<br />

梯形图符号 操作数种类<br />

指令说明:<br />

行。<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 SSEG O 2<br />

I 3 下节点 O 3<br />

1~4<br />

<strong>VLadder</strong> 编程软件使用手册 75<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

本应用指令是将来源数值转成七段显示码。在控制动作方面,外部信号可控制指令的执行。指令输出方面可以表示指令是否执<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:数据来源 中节点:转换后七段显示码 下节点:待转换七段显示码位数(1 位数=4 位)<br />

I 1:动作控制 输入动作时( 、 ) 执行转换功能<br />

I2 : 前导零(leading zero)显示控制<br />

= 0,正常显示 = 1,前导零不显示<br />

O 1= I 1 O 2= 0 O 3= 0<br />

10001<br />

40090<br />

40095<br />

SSEG<br />

#00004<br />

【说明】输入接点 10001 导通时,来源寄存器 40090 的内容将被分成 4 位数(4 个七段显示器,每一个七段显示器的范围 0 ~ F),并将<br />

每位数转换成七段显示器的对应码‥并储存到 40095 与 40096 寄存器内。<br />

下节点


40090<br />

0 ~ F 0 ~ F 0 ~ F 0 ~ F<br />

b15 b12 b11 b8 b7 b4 b3 b0<br />

digit2 digit1<br />

b15 b8 b7 b0<br />

40095 0 g f e d c b a 0 g f e d c b a<br />

digit4 digit3<br />

b15 b8 b7 b0<br />

40095 0 g f e d c b a 0 g f e d c b a<br />

a<br />

f b<br />

e g c<br />

<strong>VLadder</strong> 编程软件使用手册 76<br />

d<br />

真值表<br />

字型 0 1 2 3 4 5 6 7 8 9 A b C d E F<br />

数字 0 1 2 3 4 5 6 7 8 9 A B C D E F<br />

a 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1<br />

b 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0<br />

c 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 0<br />

d 1 0 1 1 0 1 1 0 1 1 0 1 1 1 1 0<br />

e 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1<br />

f 1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1<br />

g 0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1<br />

*前导零的转换码为 0<br />

digit4<br />

digit3<br />

digit2<br />

digit1


§6-6 字组(word)的分解/组合 PACK<br />

PACK 字组(word)的分解/组合<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

PACK<br />

I 2 下节点 O 2<br />

<strong>VLadder</strong> 编程软件使用手册 77<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

指令说明:本应用指令是将字组(word)做分解为两个字符组(bytes),或将两个字符组,组合成一个字组。在控制动作方面,外部信<br />

号可控制指令的执行及动作控制(分解或组合)。指令输出方面可以表示指令是否执行。<br />

WO<br />

BH BL 0 W1<br />

节点说明:上节点:数据来源 下节点:储存处理过的数据<br />

输入控制说明:I 1:动作控制 输入动作时( 、 ) 执行转换功能<br />

0 W2<br />

I 2:功能控制 = 0,将来源数据字组分解成二个字组并且存放于下节点<br />

功能输出说明:O 1= I 1 O 2= 0<br />

【示例】<br />

= 1,将来源数据连续两个字组各取其低字节组合成一个字组并且存放于下节点<br />

40090<br />

10001 PACK<br />

40095<br />

【说明】 输入接点 10001 导通时,来源寄存器 40090 的内容取 byte<br />

数据,再分别以 word 型态储存到 40095 与 40096 内<br />

40090 0E0F 00001110 00001111 0E0F 40090<br />

40095 1234 00000000 00001110 000E 40095<br />

40096 5678 00000000 00001111 000F 40096<br />

执行前 执行后<br />

【示例 2】 40090 【说明】输入接点 10001 导通时,来源寄存器 40090 的 low byte<br />

10001 PACK 与 40091 的 low byte 将合并成一个新的字组并存放到 40095 内。<br />

40095<br />

40090 0E0F 00001110 00001111 0E0F 40090<br />

40091 2355 00100011 01010101 2355 40091<br />

40095 1234 00001111 01010101 0F55 40095<br />

执行前 执行后


§6-7 整数转成浮点数 I->F<br />

I->F 整数转成浮点数<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

I->F<br />

I 2 下节点 O 2<br />

<strong>VLadder</strong> 编程软件使用手册 78<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

指令说明:本应用指令是将整数转换成浮点数。在控制动作方面,外部信号可控制指令的执行。指令输出方面可以表示指令是否<br />

执行。<br />

节点说明:<br />

上节点:数据来源,为 word 数值(16 bits) 下节点:存放经转换后的浮点数值(32 bits)<br />

输入控制说明:<br />

I 1:动作控制 输入动作时( 、 ) 执行转换功能<br />

功能输出说明:O 1= I 1 O 2= 0<br />

【示例】<br />

40120<br />

I->F<br />

40130<br />

【说明】将 40120 的内容转成浮点数再放到 40130 的位置<br />

浮点数是以两个字符组(word)来表示:<br />

bit0~bit6 表示指数<br />

bit7 表符号位:0 表示正、1 表示负<br />

bit8~bit31 代表分数<br />

b31 b8 b7 b0<br />

2 -1 2 -2 2 -3 2 -22 2 -23 2 -24<br />

浮点数转换为整数公式如下:<br />

I=(-1) S ×2 (E-64) ×Fr ;S= sign bit、E=指数<br />

40120 0003<br />

分数(fraction) Sign bit 指数(exponent)<br />

40130 C000 (high byte) C 0 0 0 0 0 4 2<br />

40131 0042 (low byte) 1100 0000 0000 0000 0000 0000 0100 0100<br />

I=(-1) 0 ×2 (66-64) ×(2 -1 +2 -2 )=3<br />

S


§6-8 浮点数转成整数 F->I<br />

F->I 浮点数转成整数<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

F->I<br />

I 2 下节点 O 2<br />

<strong>VLadder</strong> 编程软件使用手册 79<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

指令说明:本应用指令是将浮点数转换成整数。在控制动作方面,外部信号可控制指令的执行。指令输出方面可以表示指令是否<br />

执行、溢位及错误指示。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:数据来源,为一浮点数值(32 bits) 下节点:存放经转换后的整数值(16 bits)<br />

I 1:动作控制 输入动作时( 、 ) 执行转换功能<br />

O 1= I 1 O 2:溢出指示 = 1,溢出(overflow)或I<br />

40150<br />

【说明】将浮点数 C000(HEX)及 0042 (HEX)分别置于寄存器 40130 与 40131 内,经过转换后可得 (40150)=0003<br />

40130 C000<br />

40131 0042 1100 0000 0000 0000 0000 0000 0100 0010<br />

40150 0003<br />

I=(-1) 0 ×2 (66-64) ×(2 -1 +2 -2 )<br />

=3


§7. 流程控制指令<br />

§7-1 跳转 JMP<br />

JMP 跳转<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

JMP<br />

<strong>VLadder</strong> 编程软件使用手册 80<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点<br />

下节点<br />

L1~L150<br />

指令说明:本指令与具有相同 label 的 EOJ 指令是一成对指令。利用本指令,程序可直接跳相同 label 的 EOJ 指令的下一个指令继<br />

续执行。在控制动作方面,外部信号可控制指令的动作与否。指令输出方面可以表示指令是否执行。<br />

节点说明:<br />

输入控制说明:<br />

上节点:跳转指令的标名(label)<br />

I 1:动作控制 输入动作时( 、 ) 执行指令功能<br />

功能输出说明:O 1= I 1 O 2= 0<br />

【示例】<br />

L00001<br />

10001 JMP<br />

L00002<br />

10002 JMP<br />

L00002<br />

EOJ<br />

L00001<br />

PAGE m EOJ<br />

PAGE n<br />

【说明】输入接点 10001 导通时,JMP L00001 和 EOJ L00001 指令间的<br />

程序被跳过不执行;而从 ladder diagram 的 page n 继续执行。输入<br />

接点 10001 不导通时,JMP L00001 指令不执行程序;若输入接点 10001<br />

不导通且 10002 导通时,JMP L00002 和 EOJ L00002 指令间程序被跳过<br />

不执行而从程序的 page m 继续执行。


§7-2 跳转结束 EOJ<br />

EOJ 跳转结束<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

EOJ<br />

L1~L150<br />

<strong>VLadder</strong> 编程软件使用手册 81<br />

0 1 3 4 C P L<br />

上节点 <br />

指令说明:本应用指令与 JMP 指令搭配使用,当控制条件满足时,用来规范程序不被执行的范围,一个 ladder page 仅能有此唯一<br />

的指令且编辑时必须放在 ladder page 的左上角位置(EOJ 的 label 编辑时不能重复使用)<br />

节点说明:<br />

输入控制说明:<br />

上节点:跳转指令的标名(label)<br />

I1:无作用<br />

功能输出说明:<br />

O 1= I 1 O 2= 0<br />

§7-3 调用子程序 JSR<br />

JSR 调用子程序<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

JSR<br />

L1~L32<br />

0 1 3 4 C P L<br />

上节点 <br />

指令说明:本应用指令是会将调用与上节点值相同的 SBR 指令所定义的子程序,子程序可以允许调用子程序,但最多仅允许 16<br />

层的嵌套(nested)调用。在控制动作方面,外部信号可控制指令的执行。指令输出方面可以表示指令是否执行。<br />

节点说明: 上节点:子程序的标名(label)<br />

输入控制说明:<br />

I 1:动作控制 输入动作时( 、 ) 若符合以下条件时则执行子过程调用,上节点值相同的SBR 指令和 RET 指<br />

令皆存在,SBR 指令位于 JSR 指令之后,RET 指令位于 SBR 指令之后<br />

功能输出说明: O 1= I 1 O 2= 0


【示例】 梯形图程序<br />

JSR L00001 调用子程序 00001<br />

【示例】<br />

主<br />

程<br />

序<br />

记<br />

忆<br />

区<br />

子<br />

程<br />

序<br />

记<br />

忆<br />

区<br />

~ ~<br />

JSR L00010 调用子程序 00010<br />

~ ~<br />

EOP<br />

SBR L00001 定义子程序 00001 由此往下开始<br />

~ ~<br />

RET L00001 子程序 00001 结束<br />

~ ~<br />

SBR L00010 定义子程序 00010 由此往下开始<br />

~ ~<br />

RET L00010 子程序 00010 结束<br />

L00001<br />

10001 JSR 调用子程序 00001<br />

EOP<br />

主程序结束<br />

L00001 定义子程序 00001<br />

SBR<br />

L00010<br />

10002 JSR 调用子程序 00010<br />

L00001 子程序 00001 结束<br />

RET<br />

L00010 定义子程序 00010<br />

SBR<br />

L00010<br />

RET 子程序 00010 结束<br />

<strong>VLadder</strong> 编程软件使用手册 82<br />

【说明】程序存储区分为<br />

主程序存储区和子程序存<br />

储区。使用者可键入<br />

“EOP”指令来分隔此二<br />

区。若程序无 EOP 指令则<br />

以第一个“SBR”指令为<br />

子程序存储区的起始地<br />

址。<br />

【说明】输入接点 10001 导通时,子程序 L00001<br />

会被调用执行,执行至 RET L00001 指令则返回<br />

主程序继续往下执行尚未被执行的程序。当执<br />

行到“EOP”指令时,即结束主程序的执行。<br />

当执行子程序 L00001,且输入接点 10002 导通,<br />

则调用执行子程序 L00010,执行到 RET L00010<br />

指令时,则返回子程序 L00001 继续往下执行程<br />

序,执行直到 RET L00001 指令时,返回主程序<br />

继续往下执行;若输入接点 10001 不导通时,<br />

子程序 L00001 与子程序 L00010 都不被执行。


§7-4 定义子程序 SBR<br />

SBR 定义子程序<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

SBR<br />

L1~L32<br />

<strong>VLadder</strong> 编程软件使用手册 83<br />

0 1 3 4 C P L<br />

上节点 <br />

指令说明:本应用指令是与上节点值相同的 RET 指令搭配使用来定义子程序由此开始。当此定义的子程序被调用执行时,程序由<br />

SBR 指令所在的下一页开始执行,也就是说 SBR 指令在正常情况下不被执行。当主程序未利用 EOP 指令来做为结束,而当 SBR<br />

指令被执行时,则此次 scan 的程序执行到此即结束。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

上节点:所定义子程序的标名(label)<br />

I 1:与程序执行无关<br />

O 1= 0 O 2=0<br />

§7-5 子程序返回 RET<br />

RET 子程序返回<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

RET<br />

L1~L32<br />

0 1 3 4 C P L<br />

上节点 <br />

指令说明:本应用指令是与上节点值相同的 SBR 指令搭配使用来代表子程序结束。指令输出方面可以表示指令执行状况,在编辑<br />

ladder 程序时,RET 指令必须放在 ladder page 的左上角位置,且这个 ladder page 只能够有此唯一指令存在。<br />

节点说明:<br />

输入控制说明:<br />

上节点:子程序的标名(label)<br />

I 1:与程序执行无关<br />

功能输出说明: O 1= 0 O 2= 0


§7-6 循环FOR 指令 FOR<br />

FOR 循环 FOR 指令<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

FOR<br />

I 2 下节点 O 2<br />

<strong>VLadder</strong> 编程软件使用手册 84<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

1~255 L1~L64<br />

指令说明:本应用指令是与上节点值相同的 NEXT 指令搭配使用来执行这二个指令间的程序由下节点所定义的次数。本应用指令<br />

允许嵌套(nested),最多 8 层。指令输出方面可以表示指令执行状况(执行时修改 loop count 值,不会影响到其循环的执行)。在 ladder<br />

diagram 编辑时,同一个 ladder page ‘FOR’指令的下不编辑其它的 ladder 指令。<br />

节点说明:<br />

上节点:循环指令的标名(label) 下节点:循环次数<br />

输入控制说明:I 1:动作控制 输入动作时( 、 ) 若与本指令配对(相同 label)的 NEXT 指令存在,则执行 FOR、NEXT<br />

循环内的程序。上节点相同值的 NEXT 指令存在并且位于此指令之后<br />

功能输出说明:O 1= 此指令被执行时为 1 O 2= 0<br />

【示例】<br />

Page m<br />

Page n<br />

L00001<br />

10001 FOR 循环程序(00001)<br />

#00010<br />

L00011<br />

10002 FOR 循环程序(00011)<br />

L00011<br />

NEXT<br />

L00001<br />

NEXT<br />

40001<br />

【说明】输入接点 10001 导通时,循环<br />

程序(L00001)被执行 10 次,然后由<br />

Page n 继续执行;10001 导通时,循环<br />

程序(L00001)与(L00011)被跳过不执<br />

行,再从 Page n 继续执行。当输入接<br />

点 10001 导通且 10002 也导通时,循环<br />

程序(L00011)被执行 N 次(N=40001 的<br />

内容);循环程序(L00001)被执行 10<br />

次。<br />

输入接点 10001 导通且 10002 不导通<br />

时,循环程序(L00011)被跳过不执行,<br />

循环程序(L00001)被执行 10 次。


§7-7 循环NEXT 指令 NEXT<br />

NEXT 循环 NEXT 指令<br />

梯形图符号 操作数种类<br />

I 1 L0001 O 1<br />

NEXT<br />

L1~L64<br />

<strong>VLadder</strong> 编程软件使用手册 85<br />

0 1 3 4 C P L<br />

上节点 <br />

指令说明:本应用指令是与上节点值相同的 FOR 指令搭配组成循环程序。指令输出方面可以表示指令执行状况。编辑 ladder diagram<br />

时’NEXT’指令必须放在 ladder page 的左上角位置,且同一 ladder page 只能有此一指令。<br />

节点说明:<br />

输入控制说明:<br />

上节点:循环指令的标名(label)<br />

I 1:无作用<br />

功能输出说明:O 1= I1 O 2= 0<br />

§7-8 主程序结束 EOP<br />

EOP 主程序结束<br />

梯形图符号 操作数种类<br />

I 1 O 1<br />

EOP<br />

0 1 3 4 C P L<br />

指令说明:本应用指令用来做为主程序的结束;当此指令被执行时,其后的程序不再被执行,而结束此次解析,本指令是用来标<br />

示及区隔 ladder diagram 的主程序(EOP 指令的上)与子程序(EOP 指令的下)两个程序区。<br />

节点说明:<br />

输入控制说明:<br />

I 1:无作用<br />

功能输出说明:<br />

O 1= 0 O 2= 0


§7-9 略过 SKIP<br />

SKIP 略过<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

SKIP<br />

<strong>VLadder</strong> 编程软件使用手册 86<br />

0 1 3 4 C P L<br />

上节点 <br />

指令说明:本应用指令用来做控制程序解析顺序, 输入控制用来控制指令的动作, 输出功能用来显示应用指令的执行状态<br />

*在编辑 Ladder program 时,同一 page 在 SKIP 指令之后不可再编辑其它的 Ladder 程序<br />

节点说明:<br />

输入控制说明:<br />

上节点:用来指示要略过的 ladder page 数目,当其值为 0 时,代表结束此次程序扫描<br />

I 1:动作控制 输入动作时( 、 ) 执行此指令<br />

功能输出说明:O 1= 0 O 2= 0<br />

【示例】<br />

10001<br />

假设(40001)=00002<br />

40001<br />

SKIP<br />

10001 OFF 时 10001 ON 时<br />

Page 1 Page 1<br />

执 Page 2 Page 2<br />

行 Skip ‘OFF’ Skip ‘ON’<br />

顺 Page 3 Page 3<br />

序 Page 4 Page 4<br />

Page 5 Page 5<br />

Page 6 Page 6<br />

SKIP 功能指令<br />

位于 PAGE 2 底部时<br />

【说明】输入接点 10001 导通时,执行略过功能。<br />

1.若 40001 内容为 00002,功能方块将略过下 2 页梯形图,<br />

然后继续执行程序。<br />

2.若 40001 内容为 00000,执行 SKIP 指令时,将立即结束<br />

此次的 scan。


§7-10 流程控制 MCS<br />

MCS 流程控制<br />

梯形图符号 操作数种类<br />

I 1 O 1<br />

MCS<br />

<strong>VLadder</strong> 编程软件使用手册 87<br />

0 1 3 4 C P L<br />

指令说明:本应用指令用来做程序解析流程控制. 输入控制用来控制指令的动作. 输出功能用来显示应用指令的执行状态.<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

I 1 = 0,MCS 指令之后的火线(梯形图最左边的垂直线的)不受影响<br />

= 1,MCS指令之后的火线皆为’OFF’状态<br />

O 1= I 1 O 2= 0<br />

10001 MCS<br />

MSE<br />

Ladder program<br />

【说明】当输入接点 10001 不导通时,上图虚线方框内的梯形图程序的执行不受影响(火线的输出为’ON’),若 10001 导通,则 MCS<br />

火线<br />

指令之后的火线状态皆为’OFF’直到执行到 MSE 指令后,火线才又恢复’ON’的状态


§7-11 流程控制结束 MSE<br />

MSE 流程控制结束<br />

梯形图符号 操作数种类<br />

I 1 O 1<br />

MSE<br />

指令说明:本应用指令用来做程序解析流程控制(MCS)的结束标示<br />

功能输出说明:O 1= 1 O 2= 0<br />

<strong>VLadder</strong> 编程软件使用手册 88<br />

0 1 3 4 C P L


§8. 其它应用指令<br />

§8-1 初始化指针 INIP<br />

INIP 初始化指针<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

INIP<br />

I 2 下节点 O 2<br />

0~15<br />

<strong>VLadder</strong> 编程软件使用手册 89<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

指令说明:本应用指令用来定义指针的内容. 输入控制用来控制指令的动作. 输出功能用来显示应用指令的执行状态<br />

节点说明:<br />

上节点:用来指示要由指针指引内的寄存器种类及号码 下节点:用来表示欲设置的指针<br />

输入控制说明:I 1:动作控制 输入动作时( 、 ) 执行此指令<br />

功能输出说明: O 1= I 1 O 2= 0<br />

【示例】<br />

40001<br />

10001 INIP<br />

P0002<br />

【说明】当输入接点 10001 ‘ON’时,则应用指令执行后会定义指针(P0002)=40001。


§8-2 指针值递增 INCP<br />

INCP 指针值递增<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

INCP<br />

I 2 O 2<br />

P0~P15<br />

本应用指令用来将指针的内容加 1,其作用相当于令指针指向下一个字组<br />

输入控制用来控制指令的动作<br />

输出功能用来显示应用指令的执行状态及错误指示<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:目标指针<br />

I 1:动作控制<br />

输入动作时( 、 ) 执行此指令<br />

O 1= I 1<br />

O 2= 1,错误指示(超出同一数据的上限地址)<br />

10001<br />

P0002<br />

INCP<br />

<strong>VLadder</strong> 编程软件使用手册 90<br />

0 1 3 4 C P L<br />

上节点 <br />

【说明】当输入接点 10001 ‘ON’时,则将指针的内容值加 1。若原先 P0002 指向 40001,则执行本指令后 P0002 指向寄存器 40002<br />

的地址。


§8-3 指针加法器 PADD<br />

PADD 指针加法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 PADD O 2<br />

I 3 下节点 O 3<br />

P0~P15<br />

↑0~9999<br />

<strong>VLadder</strong> 编程软件使用手册 91<br />

0 1 3 4 C P L<br />

上节点 <br />

本应用指令用来将指针的内容加上一固定值,其作用相当于令指针指向指针相加后的地址<br />

输入控制用来控制指令的动作<br />

输出功能用来显示应用指令的执行状态及错误指示<br />

节点说明:<br />

输入控制说明:<br />

上节点:来源指针<br />

中节点:指针运算要增加的值<br />

下节点:目地指针(储存运算后的指针地址)<br />

I 1:动作控制<br />

功能输出说明:<br />

【示例】<br />

输入动作时( 、 ) 执行此指令<br />

O 1= I 1(但当 O 3= 1 时 O 1=0)<br />

O 2= 0<br />

O 3= 1,错误指示(超出同一数据的上限地址)<br />

P0002<br />

10001 #00004<br />

PADD<br />

P0003<br />

【说明】假设 P0002 指向 40011 的地址,当输入接点 10001 导通时,则将指针的内容值加 4,并储存到 P0003 内,故执行后的结果<br />

P0003=40015。<br />


§8-4 指针值递减 DECP<br />

DECP 指针值递减<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

DECP<br />

I 2 O 2<br />

P0~P15<br />

本应用指令用来将指针其内容值减 1,其作用相当于指针指向前面一个字组<br />

输入控制用来控制指令的动作<br />

输出功能用来显示应用指令的执行状态及错误指示<br />

节点说明:<br />

输入控制说明:<br />

上节点:目标指针<br />

I 1:动作控制<br />

功能输出说明:<br />

【示例】<br />

O 1= I 1<br />

输入动作时( 、 ) 执行此指令<br />

O 2= 1,错误指示(小于同一数据的下限地址)<br />

10001<br />

P00002<br />

DECP<br />

<strong>VLadder</strong> 编程软件使用手册 92<br />

0 1 3 4 C P L<br />

上节点 <br />

【说明】输入接点 10001 导通时,则将指针的内容值减 1。假设 P00002 原先指向 40010,10001 ‘ON’ 时则 P0002 会指向 40009。


§8-5 指针减法器 PSUB<br />

PSUB 指针减法器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 PSUB O 2<br />

I 3 下节点 O 3<br />

P0~P15<br />

↑0~9999<br />

<strong>VLadder</strong> 编程软件使用手册 93<br />

0 1 3 4 C P L<br />

上节点 <br />

本应用指令用来将指针的内容减去一固定值,其作用相当于令指针指向指针减了后的地址<br />

输入控制用来控制指令的动作<br />

输出功能用来显示应用指令的执行状态及错误指示<br />

节点说明:<br />

输入控制说明:<br />

上节点:来源指针<br />

中节点:指针运算要减去的值<br />

下节点:目地指针(储存运算后的指针地址)<br />

I 1:动作控制<br />

功能输出说明:<br />

【示例】<br />

输入动作时( 、 ) 执行此指令<br />

O 1= I 1(但当 O 3= 1 时 O 1= 0)<br />

O 2= 0<br />

O 3= 1,错误指示(小于目前型态的最小地址)<br />

P0002<br />

10001 #00004<br />

PSUB<br />

P0003<br />

【说明】假设 P0002 指向 40020 的地址,当输入接点 10001 导通时,则将指针的内容值减 4,并储存到 P0003 内,故执行后的结果<br />

P0003=40016。<br />


§8-6 寄存器赋值 MOVE<br />

MOVE 寄存器赋值<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

MOVE<br />

I 2 下节点 O 2<br />

0~65535<br />

<strong>VLadder</strong> 编程软件使用手册 94<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

本应用指令用来定义保持寄存器(4XXXX)或输出接点(0XXXX)的初始值设置<br />

输入控制用来控制指令的动作<br />

输出功能用来显示应用指令的执行状态<br />

节点说明:<br />

输入控制说明:<br />

上节点:来源寄存器或立即值<br />

下节点:用来指示要初始化的寄存器或输出接点(以 16 点为单位)<br />

I 1:动作控制<br />

功能输出说明:<br />

【示例】<br />

O 1= I 1<br />

O 2= 0<br />

输入动作时( 、 ) 执行此指令<br />

#00100<br />

10001 MOVE<br />

40001<br />

【说明】输入接点 10001 导通时,指令会执行寄存器 40001 的内容值做初始化设置。当输入接点 10001 导通时(40001)=100。


§8-7 寄存器数据比较 RCMP<br />

RCMP 寄存器数据比较<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 RCMP O 2<br />

I 3 下节点 O 3<br />

0~65535<br />

↑1~2<br />

本比较器是经由外部的控制将上、中节点的内容做比较。<br />

在控制动作方面,外部信号可控制比较器的动作与否。<br />

指令输出方面可以表示被上节点与中节点的间的关系(>、=、中节点)<br />

O 2:两数比较的结果(上节点=中节点)<br />

O 3:两数比较的结果(上节点中节点值,故输出接<br />

点 00011 为’ON’状态。]


§8-8 读取系统日期 DGET<br />

DGET 读取系统日期<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

DGET<br />

I 2 O 2<br />

本应用指令用来取得系统日期,内容包含年、月、日<br />

输入控制用来控制指令的动作<br />

输出功能用来显示应用指令的执行状态<br />

<strong>VLadder</strong> 编程软件使用手册 96<br />

0 1 3 4 C P L<br />

上节点 <br />

*当公元的年份


§8-9 设置系统日期 DSET<br />

DSET 设置系统日期<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

DSET<br />

I 2 O 2<br />

本应用指令用来设置系统日期,内容包含年、月、日、星期<br />

输入控制用来控制指令的动作<br />

输出功能用来显示应用指令的执行状态<br />

<strong>VLadder</strong> 编程软件使用手册 97<br />

0 1 3 4 C P L<br />

上节点 <br />

*当公元的年份


§8-10 系统日期比较 DCMP<br />

DCMP 系统日期比较<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

I 2 DCMP O 2<br />

I 3 下节点 O 3<br />

0~65535<br />

<strong>VLadder</strong> 编程软件使用手册 98<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

指令说明:本应用指令是将用户所设置的日期与系统日期做前后的比较(比较顺序为年、月、日); 输入控制用来控制指令的动作; 输<br />

出功能用来显示应用指令的执行状态及日期比较后的结果<br />

*当公元的年份系统日期 O 2:设置日期=系统日期 O 3:设置日期月->日)配合下节点所输入的 mask,所以比较出来的结果为最高单位的比较结果(内容<br />

数据不同的情况下)。


§8-11 读取系统时间 TGET<br />

TGET 读取系统时间<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

TGET<br />

I 2 O 2<br />

本应用指令用来取得系统时间<br />

输入控制用来控制指令的动作<br />

输出功能用来显示应用指令的执行状态<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

<strong>VLadder</strong> 编程软件使用手册 99<br />

0 1 3 4 C P L<br />

上节点 <br />

上节点:用来存放读取的系统时间数据,共占用两个字组,其格式如下 :<br />

I 1:动作控制 输入动作时( 、 ) 执行此指令<br />

O 1= I 1 O 2= 0<br />

40001<br />

10001 TGET<br />

【说明】输入接点 10001 导通时,则系统会将目前的系统时间移动至 40001 与 40002 内,其表示方式是以 BCD 的方式。<br />

假设经读取后(40001)=0212BCD<br />

(40002)=2345 BCD<br />

则可得到目前的系统时间应为:星期二,12 时 23 分 45 秒


§8-12 设定系统时间<br />

TSET 设定系统时间<br />

梯形图符号 操作数种类<br />

0 1 3 4 C P L<br />

上节点 <br />

I1 上节点 O1<br />

TSET<br />

I2 O2<br />

指令说明:<br />

本应用指令用来设定系统时间。<br />

输入控制用来控制指令的动作;<br />

输出功能用来显示应用指令的执行状态。<br />

节点说明:<br />

上节点:用来存要更改的系统时间数据,共占用两个字,其格式如下 :<br />

输入控制说明:<br />

I1:动作控制<br />

输入动作时( ) 执行此指令<br />

功能输出说明:<br />

O1= I1<br />

O2= 0<br />

【示例】<br />

40001<br />

10001 TSET<br />

<strong>VLadder</strong> 编程软件使用手册 100<br />

TSET<br />

【说明】输入接点 10001 导通时,则系统会将 40001 与 40002 内所设定的时间写入系统内,其表示方法是以 16 进制的<br />

方式。其设定的数据格式如下:<br />

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

40001 星期(01~07)H 时(00~23)H<br />

40002 分(00~59)H 秒(00~59)H


§8-13 系统时间比较 TCMP<br />

TCMP 系统时间比较<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

I 2 TCMP O 2<br />

I 3 下节点 O 3<br />

0~65535<br />

<strong>VLadder</strong> 编程软件使用手册 101<br />

0 1 3 4 C P L<br />

上节点 <br />

下节点 <br />

指令说明:本应用指令是将用户所设置的时间与系统时间做时间先后比较(比较内容为星期、时、分、秒). 输入控制用来控制指令<br />

的动作. 输出功能用来显示时间比较后的结果<br />

节点说明:<br />

上节点:用来存放读取的系统时间数据<br />

下节点:共占用一个字组,用来选取欲比较的部分<br />

字组分四个半字节分别对应星期、时、分、秒四个部分,当对应的半字节值为 0 时,代表该部分不列入比较<br />

输入控制说明:<br />

I 1:动作控制 输入动作时( 、 ) 执行此指令<br />

功能输出说明:O 1:设置时间>系统时间 O 2:设置时间=系统时间 O 3:设置时间时->分->秒)配合下节点所输入的 mask,所以比较出来的结果为最高单位的比较结果<br />

(内容数据不同的情况下)。


§8-14 读取系统状态 STAT<br />

STAT 读取系统状态<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 STAT O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 102<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 ↑<br />

0~63 ↑1~64<br />

指令说明:本指令是提供用户取得部份的系统数据以配合实际应用所需。在控制动作方面,外部信号可控制本指令的动作与否。<br />

指令输出方面可以表示指令执行状态。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

上节点:系统状态表的起始读取地址 中节点:读取数据的存放地址 下节点:要读取的系统数据个数(字组)<br />

I 1:动作控制 输入动作时( 、 ) 执行此指令<br />

O 1= I 1 O 2= 读取范围超出表示 = 1,读取内容超出系统状态范围表示,并且不做读/写的动作 O 3= 0<br />

字组顺序 说 明<br />

000 PLC system status<br />

001 秒(Seconds) 分(Minutes)<br />

002 时(Hours) 日(Date)<br />

003 月(Month) 星期(Date of the week)<br />

004 年(Year) Dummy byte<br />

005 最大扫描时间(Maximum scan time) : 100 us<br />

006 最小扫描时间(Minimum scan time) : 100 us<br />

007 目前扫描时间(Current scan time) : 100 us<br />

008 PLC 工作时数(分钟)<br />

009 PLC 工作时数(小时)<br />

010 系统状态(1)<br />

011 系统状态(2)<br />

012 PLC link - group ID<br />

013 PLC link - link flag<br />

014 PLC link - real time response state<br />

015 Drop used state<br />

[注]系统状态于系统设计时,被安排在内存的系统工作区的某一区段。而 STAT 指令便是提供用户取得系统内部的状态。以上为 PLC<br />

STATUS 提供的状态及内容.


PLC STATUS 的说明:<br />

Word - 000:PLC system status 使用到的位用阴影表示<br />

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00<br />

Bit 00 ~ Bit 03 保留 Bit 04:电池有电时为"0"、电池没电时为"1" Bit 05 ~ Bit 15 保留<br />

Word-001 ~ Word - 004:Calendar 时间的储存;在时间的储存上共计有 7 种的数据,分别为秒、分、时、星期、日、月、年等,<br />

且每一组数据所占的内存为一个字节(byte)<br />

Word-005:内容值表示最大的扫描时间(单位为 100 us)<br />

Word-006:内容值表示最小的扫描时间(单位为 100 us)<br />

Word-007:内容值表示目前的扫描时间 (单位为 100 us)<br />

Word-008 : 显示 PLC 开机时间(分钟)<br />

Word-009 : 显示 PLC 开机时间(小时)<br />

Word-010 ~ Word - 011:这两个 Word 的内容主要表示一些系统在执行期间异常的状况纪录问题,以及系统进行自我检测时的状态;<br />

其说明如下所述:<br />

a .Word-010:<br />

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00<br />

bit00:RAM checksum error bit01:Real time timer error bit02:Watch dog timer error<br />

bit03:Status RAM fail bit04:Ladder RAM fail bit05:Remote I/O module fail<br />

bit06:Battery low bit07:Ladder error bit08:I/O map error<br />

bit09:Flash ROM checksum error bit10:Reserve bit11:Reserve<br />

bit12:Reserve bit13:Reserve bit14:Local I/O module fail<br />

bit15:Reserve<br />

b. Word - 011:<br />

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00<br />

bit00:Local I/O mismatch bit01:Install I/O point over range<br />

bit02:Remote I/O mismatch bit03:Reserve<br />

bit04:Ladder syntax check error<br />

bit05:Rack ID mismatch bit06 ~ bit15:Reserve<br />

Word-012 : PLC link 时的 Group ID (Hexadecimal)<br />

Word-013 : PLC link flag – 主站所设置要联结的从站对应表<br />

bit = ‘1’ : 须要连结的站台<br />

bit = ‘0’ : 不须连结的站台<br />

*此字组只在主站上提供<br />

Word-014:PLC link - real time response state – 主站所设置要联结的从站数据传输时的立即状态<br />

bit = ‘1’ : 从站有响应(link 正常)<br />

bit = ‘0’ : 从站断线或无法联机(link 不正常)<br />

Word-015:Drop communication state - (预留)显示目前远程站的连接状况;V80 因为目前没有远程 I/O 的控制功能,故只有一个<br />

站的存在(即 word 15 的 bit 0 = 1)<br />

<strong>VLadder</strong> 编程软件使用手册 103


§8-15 轮鼓模拟器 CAM<br />

CAM 轮鼓模拟器<br />

梯形图符号 操作数种类<br />

指令说明:<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 CAM O 2<br />

I 3 下节点 O 3<br />

0~65535<br />

<strong>VLadder</strong> 编程软件使用手册 104<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

轮鼓开关指令极类似一 16 个接点的步进开关,这些接点的 ON/OFF 状态是依据来源寄存器与 16 对目的寄存器的值做比较。如<br />

果来源寄存器的值在目的寄存器对的范围内,则下节点的对应位便会为 ON。<br />

在控制动作方面,外部信号可控制本指令的动作与否。<br />

指令输出方面可以表示指令执行状态。<br />

节点说明:<br />

输入控制说明:<br />

功能输出说明:<br />

【示例】<br />

上节点:比较基准寄存器 中节点:共占用 32 个字组,总计 16 组比较寄存器<br />

下节点:存放 16 组比较结果<br />

I 1:动作控制 输入动作时( 、 ) 执行此指令<br />

O 1= I 1 O 2= 0 O 3= 0<br />

00006<br />

#00155 ( )<br />

T1.0 00006<br />

40006<br />

40006<br />

41000<br />

CAM<br />

40009<br />

【说明】CAM 指令的输入数值为计时寄存器 40006 的值,故由 0~155 反复循环。此输入值与 CAM 的表比较,因表内的值各差 5,<br />

故 CAM 的输出每一位 ON 5 秒后向左移一位,如此周而复始形同一轮鼓开关。(如下页表所示)


40006 00145<br />

40009 4000H<br />

41000 00000 0<br />

41001 00005<br />

41002 00010 1<br />

41003 00015<br />

41004 00020 2<br />

41005 00025<br />

41006 00030 3<br />

41007 00035<br />

41008 00040 4<br />

41009 00045<br />

41010 00050 5<br />

41011 00055<br />

41012 00060 6<br />

41013 00065<br />

41014 00070 7<br />

41015 00075 4000H<br />

41016 00080 8<br />

41017 00085<br />

41018 00090 9<br />

41019 00095<br />

41020 00100 10<br />

41021 00105<br />

41022 00110 11 0100000000000000<br />

41023 00115<br />

41024 00120 12<br />

41025 00125<br />

41026 00130 13 bit14=1<br />

41027 00135<br />

41028 00140 14<br />

41029 00145<br />

41030 00150 15<br />

41031 00155<br />

<strong>VLadder</strong> 编程软件使用手册 105


§8-16 读取共享数据区 CDMR<br />

CDMR 读取共享数据区<br />

梯形图符号 操作数种类<br />

0 1 3 4 C P L<br />

I1 上节点 O1 中节点<br />

上节点 <br />

I2 CDMR O2 中节点 <br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 106<br />

下节点 ℑ<br />

详见说明(1) ℑ1~64<br />

指令说明:本指令是针对智能型 IO 模块(intelligent module)的共享数据区(common data memory)做数据读取动作,在控制动作方面,<br />

外部信号可控制本指令的动作以及指令动作的复位。指令输出方面可以表示指令执行状态以及指令动作的状态。<br />

节点说明:上节点:用来指定欲读取的 IO 模块位置,详见说明(1)<br />

中节点:占 3 个 words 详细说明参考次页说明(2) 下节点:欲读取的数据长度<br />

输入控制说明:I 1:动作控制 输入动作时( ) 执行此指令 I 2:指令动作内容复位 = 1,将原本指令的执行状态清除,<br />

复位时,必须使 I 1 有效。<br />

功能输出说明:O 1 : 应用指令执行中状况指示 = 1,执行中; = 0,非执行中<br />

O 2: 应用指令执行结束指示 = 1,执行完毕; = 0,尚未执行完毕 O 3: 参数检查状况指示 = 0,参数 OK; = 1,<br />

参数错误<br />

智能型模块数据共享区的读取(Common data memory read)指令说明:<br />

说明(1):上节点的数据内容用来描述欲读取模块的所在位置;其位置的描述包括 Drop、Rack、Slot 三项数据(如下表所示);基于运<br />

算及阅读上的方便,Drop 的默认值为 0,Rack 的默认值为 1,Slot 从 1 开始(下表每一个 Digit 代表模块安装的位置)。<br />

Digit 4 Digit 3 Digit 2 Digit 1<br />

Drop(默认值为 0) Rack(默认值为 1) Slot<br />

说明(2):Intelligent module 的数据共享区<br />

b15 b14 b13 b12 b1 b10 b09 b08 b07 b06 b05 b04 b03 b02 b01 b00<br />

word 1 Intelligent module address offset<br />

word 2 Reserve N3 N2 N1<br />

word 3 Target address<br />

Word 1:用来指明欲读取的 CDM 数据起始地址。<br />

Word 2:这个字组为系统保留使用,所以用户不可填入任何值,以免影响到应用指令执行的正确性。<br />

Word 3:用来指出应用指令在读取 CDM 数据后,数据的存放地址。其内容直接对应到保持寄存器(4XXXX)的地址,如输入值为 00010<br />

则表示,当 CDM 数据读取之后会将读到的数据从寄存器 40010 开始存放。<br />

注:运行下一次 CDMR 指令前,必须先使指令动作复位。<br />

【示例】假设要读取 PLC 系统,置于 Slot 4 的 A/D 模块 Page 0 最前面 10 words 的数据,并将读取的数据存放到 40100~40109 的位<br />

置,则中节点寄存器(40001)=0000、(40003)=0100,其 Ladder 程序如下所示:<br />

10001<br />

#00014<br />

40001<br />

CDMR<br />

#00010<br />

( )<br />

00001<br />

( )<br />

00002<br />

( )<br />

00003<br />

【说明】假设(40001)=0000、(40003)=100,当输入接点 10001 有一 OFF⇒ON 的变化时,便开始执行 CDMR 的应用指令,当<br />

指令在运作时,输出线圈 00001 为’ON’;而当读取的动作完成后功能输出则为 00001 = 00003 = ‘OFF’、00002 = ‘ON’。


§8-17 写入共享数据区 CDMW<br />

CDMW 智写入共享数据区<br />

梯形图符号 操作数种类<br />

0 1 3 4 C P L<br />

I1 上节点 O1 中节点<br />

上节点 <br />

I2 CDMW O2 中节点 <br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 107<br />

下节点 ℑ<br />

详见说明(1) ℑ1~64<br />

指令说明:本指令是针对智能型模块(intelligent module)的共享数据区(common data memory)做数据的写入,在控制动作方面,外<br />

部信号可激活本指令的动作以及指令动作的复位。指令输出方面可以表示指令执行状态以及指令动作的状态。<br />

节点说明:上节点:用来指定欲写入的智能型模块位置,详见说明(1)<br />

中节点:占 3 个 words,详见说明(2) 下节点:欲写入的数据长度<br />

输入控制说明:I 1:动作控制 输入动作时( ) 执行此指令 I 2:指令动作内容复位 = 1,将原本指令的执行状态清除,<br />

复位时,必须使 I1 有效。<br />

功能输出说明:O 1 : 应用指令执行中状况指示 = 1,执行中; = 0,非执行中<br />

O 2: 应用指令执行结束指示 = 1,执行完毕; = 0,尚未执行完毕 O 3: 参数检查状况指示 = 0,参数 OK; = 1,<br />

参数错误<br />

智能型模块数据共享区的写入(Common data memory write)指令说明:<br />

说明(1):上节点的数据内容用来描述欲写入的模块,所插的位置;其位置的描述包括 Drop、Rack、Slot 三项数据(如下表所示);基<br />

于运算及阅读上的方便,Drop 的默认值为 0,Rack 的默认值为 1,Slot 从 1 开始(下表每一个 Digit 代表模块安装的位置)。<br />

Digit 4 Digit 3 Digit 2 Digit 1<br />

Drop (默认值为 0) Rack(默认值为 1) Slot<br />

说明(2):在 CDM 的应用指令下,中节点占用了 3 个 words<br />

b15 b14 b13 b12 b1 b10 b09 b08 b07 b06 b05 b04 b03 b02 b01 b00<br />

word 1 Intelligent module address offset<br />

word 2 Reserve N3 N2 N1<br />

word 3 Target address<br />

Word 1:用来指出 CDM 数据写入的起始地址。<br />

Word 2:这个字组为系统保留使用,所以用户不可填入任何值,以免影响到应用指令执行的正确性。<br />

Word 3:用来指出应用指令从何位置取得要写入的数据,其输入值直接对应到保持寄存器(4xxxx)的地址,如输入值为 00010 则表示,<br />

由 40010 的位置取得数据再写入智能型模块的 CDM 内。<br />

注:运行下一次 CDMW 指令前,必须先使指令动作复位。<br />

【示例】假设要写入 PLC 系统,置于 Slot 4 的 A/D 模块 Page 0 最前面 10 words 的数据(其硬设备如下图所示),并将要写入 CDM 的<br />

数据存放在 40100~40109 的位置,则中节点寄存器(40001)=0000、(40003)=0100 其 Ladder 程序如下所示:<br />

10001<br />

#00014<br />

40001<br />

CDMW<br />

#00010<br />

( )<br />

00001<br />

( )<br />

00002<br />

( )<br />

00003<br />

【说明】假设(40001)=0000、(40003)=100, 当输入接点 10001 有一 OFF⇒ON 的变化时,便开始执行 CDMW 的应用指令,当指<br />

令在运作时,输出线圈 00001 为’ON’;而当写入的动作完成后功能输出则为 00001 = 00003 = ‘OFF’、00002 = ‘ON’。


§8-18 PID 比例积微分控制 PID<br />

PID PID 比例积分微分控制<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 PID O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 108<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本指令是针对特殊模块的输入经运算后求得 PID 值,再由此值输出控制其它特殊模块的输出。指令输出方面可以表示<br />

指令执行状态以及指令作动的状态。<br />

节点说明:上节点:PID 菜单参数设定区,详见说明 中节点:PID 功能函数执行的工作区与状态区,详见说明<br />

下节点:PID 执行的周期(1/10 秒)<br />

输入控制说明:I 1:自动/手动控制 ,=1,自动控制,=0,手动控制<br />

I 2:平稳控制 = 1,平稳控制; = 0,无平稳控制 I 3:输出反转控制 =1,输出反转,=0,不反转<br />

功能输出说明:O 1 : 应用指令参数状况指示 = 1,参数设定错误时<br />

O 2: 应用指令执行状况指示 = 1,当前值 P V 大于设定的报警上限 O 3:应用指令执行状况指示 = 1,当前值 P V 小<br />

于设定的报警下限<br />

说明: PID 功能函数依据下列公式原理设置, 使用者仅需依照规定设定指令的适当参数,指令便自动计算出 PID 的输出值。<br />

下列说明各个节点所需输入的参数设定:<br />

100 de( t)<br />

MV() t = [ e() t + KI e() t dt KD( )] Bias<br />

P ∫ + +<br />

dt<br />

上节点:PID 菜单参数设定区;参数表范围:4xxx1—4xx16:<br />

b<br />

缓存器编号 内 容 说 明<br />

4xxx1 控制程序输入值 PV (工程单位, 范围: 0~65535)<br />

4xxx2 控制程序设定值 SP (工程单位, 范围: 0~65535)<br />

4xxx3 控制程序输出值 MV (PID 输出值 范围: 0~65535)<br />

4xxx4 控制程序输入值报警上限 (HI ALARM, 范围: 0~65535)<br />

4xxx5 控制程序输入值报警下限 (LO ALARM, 范围: 0~65535)<br />

4xxx6 比例值 Pb (范围:5~500)<br />

4xxx7 积分常数值 KI(范围:0~9999)<br />

4xxx8 微分常数值 KD(范围:0~9999)<br />

4xxx9 偏差修正值(范围:0~4095)<br />

4xx10 反求积分项上限值或输出上限(通常设为 4095)<br />

4xx11 反求积分项下限值或输出下限(通常设为 0000)<br />

4xx12 工程单位高值(范围:0~9999)<br />

4xx13 工程单位低值(范围:0~9999)<br />

4xx14 控制程序输入值 PV(0~4095)<br />

4xx15 系统内部控制用(保留)<br />

4xx16 模拟测量值做为过程控制变量 PV 所需扣除的偏差量。


中节点:PID 指令执行的工作区与状态区(占用连续的 5 个寄存器)<br />

寄存器编号 内 容 说 明<br />

4xxx1<br />

回路状态:<br />

Bit 1 :控制参数设置错误指示(= 1 , error) Bit 2 :报警上限( = 1 , High alarm)<br />

Bit 3 :报警下限(= 1 , Low alarm) Bit 4~Bit 5 :保留<br />

Bit 6 :PID 在自动模式且计算中(计算中 ON 一个 scan time)<br />

Bit 7~Bit 12 :保留 Bit 13 = I3 Bit 14 = I 2 Bit 15 = I 1 Bit 16 :保留<br />

4xxx2 PID 回路计时寄存器<br />

4xxx3 高字节积分和<br />

4xxx4 低字节积分和<br />

4xxx5 上一次 PV 值<br />

下节点:PID 执行周期(1/10 秒) 〔示例〕<br />

〔说明〕RTD 将感测到的温度值转换为模拟信号,再送至地址为 30001 的模拟输入模块,PID 控制器:<br />

[注]一般化的 PID 控制回路<br />

PID 控制器由比例、积分、微分三个部分所组成,其转移函数为:<br />

100 de( t)<br />

MV() t = [ e() t + KI e() t dt KD( )] Bias<br />

P ∫ + +<br />

b<br />

dt<br />

其中 MV() t = PID 的控制输出(时间函数)<br />

P b = 比例值 () et = 误差值(时间函数) K I = 积分常数<br />

K = 微分常数 Bias = 偏差修正值<br />

D<br />

SP 设定值<br />

加热器<br />

电流<br />

控制元件<br />

Pv 值<br />

修正偏移量<br />

控制器<br />

经换算后的当前值<br />

设定值<br />

输出值 Mv<br />

报警上限<br />

报警下限<br />

比例常数 Pb<br />

积分常数值 KI<br />

微分常数值 KD<br />

偏移量修正值 Bias<br />

反求积分项上限值<br />

反求积分项下限值<br />

工程单位上限值<br />

工程单位下限值<br />

控制程序输入值<br />

自动控制模式<br />

AI 输入为电压型<br />

e PID<br />

控制器<br />

MV<br />

Pv 信号<br />

转换器<br />

<strong>VLadder</strong> 编程软件使用手册 109<br />

0~200°C<br />

RTD 电阻式温度传感器<br />

控制<br />

元件<br />

Pv<br />

测量值<br />

信号放大器<br />

Pv 当前值<br />

SP 设定值<br />

a.参数表格地址 41001~41016<br />

←程序输入值地址 41014 ↑功能<br />

方块输出值地址 41003<br />

b.工作与状态区 41021~41025 ←功能<br />

方块每一秒钟运算一次<br />

c. 上图的梯形图程序乃为:将地址<br />

30001 的温度值送至 PID 的输入<br />

41014 经由 PID 运算后,其结果由<br />

41003 输出,此 PID 输出信号再经由模<br />

拟输出模块 40001 来控制温度控制<br />

器。<br />

控制<br />

过程<br />

Pv 当前值


§8-19 PID2 比例微积分控制 PID2<br />

PID2 PID2 比例微积分控制<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 PID2 O 2<br />

I 3 下节点 O 3<br />

上节点<br />

TABLE 地址<br />

中节点<br />

<strong>VLadder</strong> 编程软件使用手册 110<br />

PV<br />

下节点<br />

XOUT<br />

0 1 3 4 C P L<br />

指令说明:本指令是针对 V80 系列 PLC 的 PID 功能提供梯形图程序的应用接口。应用程序可通过此功能完成单一 PID 或多个 PID<br />

串级控制。指令输出方面可以表示指令执行状态。公式为:<br />

TI TD de() t<br />

X OUT = KPet (() + etdt () Bias)<br />

100 ∫ + +<br />

100 dt<br />

说明: () P 是 与 SP 差异量<br />

et : 误差, V<br />

节点说明:上节点:PID 设置参数表, 共 25 个寄存器<br />

中节点:PID 反馈量 (-32767 ~ 32767), 为实际值放大 10 倍. 如: 实际为 20.3,则输入应为 203.<br />

下节点:PID 输出 (-32767 ~ 32767)<br />

输入控制说明:I 1:动作控制使能 输入动作时(ON)执行此指令.<br />

PID 的计算必须配合 CYCLE 节点的控制使用, 当 I 1 ON 且 I 2 ON 时, PID 才会执行计算并累计误差作为下一<br />

次计算的参考.<br />

I 2:CYCLE, 外部周期计时触发信号.<br />

当执行 PID 运算时,梯形图必须配合 TS 周期设置,外挂一个定时器做周期计算控制. 那个定时器的输出必须回<br />

馈到 PID 的 CYCLE(I2)输入,以驱动 PID 进行下一个计算.<br />

I 3:AUTO, 1: 自动, 0: 手动 控制 PID 指令下节点输出 XOUT,是由 PID 的自动计算结果控制或 PID 的手动参数<br />

XO 控制.<br />

功能输出说明:O 1 : = 0 若 I 1 为 0 或 = CYCLE 若 I 1 为 1<br />

警告:<br />

O 2: 应用指令执行状况指示 = 1,代表命令执行失败(如 PID 参数设置错误) O 3: = 0<br />

用户必须提供正确的 PID 参数以确保整个过程控制在安全范围内作业. 若因无法正确的设置参数导致控制程序无法在系统的工<br />

作极限下运行,所产生的设备损害,人员伤害及其它无法预期的运作. 不在本产品的保证范围 !<br />

应用注意事项:<br />

1. 为让系统运作更顺畅,可在 PV 值前加滤波器(Moving Average) .<br />

2. 在 SP 的前加上下限保护以避免 PID 的错误激活.<br />

3. STEP 参数可视为时间的函数.<br />

4. 建议在 PID 输出 XOUT 上,另加检测以确保 PID 在工作范围内.<br />

说明:<br />

PID2 指令是依据下列参数来动作:<br />

用户仅需依照规定,设置指令的适当参数,指令便自动执行用户的命令.<br />

下列说明下节点所需输入的参数设置:<br />

上节点:PID2 指令执行的工作区与状态区(占用连续的 25 个寄存器)


寄存器编号 内 容 说 明<br />

4xxx1<br />

4xxx2<br />

4xxx3<br />

4xxx4<br />

4xxx5<br />

4xxx6<br />

4xxx7<br />

4xxx8<br />

SP:Set Point, 设置点.<br />

作为 PID 控制的终极目标值. 同 P V 一应样,此值为实际值的 10 倍.<br />

X O : 手动控制输出值.<br />

XOUT = X O 当 I 1=1, I 3=0 时<br />

DREV : 反相控制设置.<br />

当 DREV 为 0 则 e = SP-PV 为 1 则 e = P V-SP<br />

T S : Cycle 时间以 ms 为单位, PID 周期计算时间常数.<br />

作为积分及微分计算常数用. 此值必须配合外部 TIMER 控制 I2 (CYCLE)输入进行 PID 运算. 需注意外部实际<br />

TIMER 值必须与此内部参数一致<br />

K P: 比例系数, 整型数, 0 to 32767.<br />

此值若越大,则 (XOUT) 因 SP 与 P V 的误差越大所作的计算输出越大. 虽然可以快速趋近 SP 值,但系统的控制稳定<br />

度会变差.<br />

TI: 每秒的积分系数 (sec -1 ), 整型数, 0 to 32767, 放大 100 倍.<br />

由于 TI 取 1 秒为单位, 且 PID 表达式中代表误差累计的积分项常数为 TI/100. 所以当 T I 小于 100 时, 积分项所<br />

占比重会变大.而当 TI 大于 100 时, 这个比例就变小. 因此, T I 越小,积分对(X OUT)的贡献越大. 但是, 积分越大对系<br />

统越可能造成不稳定. 若 TI -1 为 0, 则积分项对 PID 计算无影响.<br />

TD: 每秒的微分系数,整型数, 0 to 32767, 放大 100 倍.<br />

微分常数越大, 微分项对 (XOUT)影响越大. 但是, 微分常数 T D 太大会造成系统不稳定, 这是因为 T D 对误差 e 微分<br />

项作积乘的结果. 若 TD 为 0, 则微分项对系统无作用.<br />

STEP : 跟踪步数, 整数. 分段输出设置.<br />

当 PID I3 由“手动”切到“自动”时, 由手动输出值到 PID2 计算值的间的误差会分 STEP 段变化输出以确保切换控<br />

制顺畅.<br />

4xxx9 FEED : 反馈补偿, 0 ~ 32767<br />

4xx10 F_GN : 反馈增益, 整型数, 0 ~ 100,放大 100 倍<br />

4xx11 FREV : 反馈方式, 整型数, 0: 正相, 1: 反相.<br />

4xx12<br />

4xx13<br />

DB : 死区, 整型数, 工程单位, 放大 10 倍.<br />

例, DB 为 10 代表离 SP 上下各 10 个工程单位为死区. 该 DB 设置的目的是确保当错误一直落在 SP 的死区范围内<br />

时输出不变化. 这个范围目的在提供当控制驱近设置值时可作更细致微调.<br />

Bias: 整型数, 0 to 32767.<br />

这个偏压设置可用来弥补当系统进入稳态时的固定能量损耗.<br />

4xx14 O_HL : XOUT 输出上限, 整型数, -32767 to 32767.<br />

4xx15 O_LL : Minimum 输出下限, 整型数, -32767 to 32767.<br />

4xx16 POUT : PID 计算输出<br />

4xx17 PV 暂存区<br />

4xx18 XOUT : 暂存区<br />

4xx19~4xx24 RSV : 系统使用,用户不能对其进行写入操作<br />

4xx25<br />

ERR_STATE<br />

数值 描述<br />

0 运行正常<br />

1 参数设置错<br />

2 大于输出上限<br />

3 小于输出下限<br />

5 误差小于死区<br />

<strong>VLadder</strong> 编程软件使用手册 111


§8-20 站地址设置 SADDR<br />

SADDR 站地址设置<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

SADDR<br />

1~254<br />

<strong>VLadder</strong> 编程软件使用手册 112<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点<br />

下节点<br />

指令说明:本指令用于设置控制器的站地址。站地址默认为 1,一般情况下不用修改,但在一些特殊场合,比如多台控制器用 485<br />

节点说明:<br />

输入控制说明:<br />

进行通信时,就需要重新设置站地址。<br />

上节点:新的站地址<br />

I 1:动作控制 输入动作时( 、 ) 执行指令功能<br />

功能输出说明:O 1= I 1 O 2= 0<br />

【示例】<br />

#5<br />

00100 SADDR<br />

说明:用户如果需要设置 PLC 的站地址为 5,操作如下:<br />

1、 联机状态下编写上面的程序;<br />

2、 通过软件运行 PLC;<br />

3、 强制 00100 为 ON;<br />

4、 停止 PLC;<br />

5、 用编程软件菜单“工具”下的“写入 Flash ROM”命令将站地址写入 PLC;<br />

6、 重启 PLC 即可。


§8-21 高速计数器设置 HSCSET<br />

HSCSET 高速计数器设置<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

I 2 中节点 O 2<br />

HSCSET<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 113<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本指令用于 V80 系列增强型(/S 型)CPU 模块中高速计数功能的参数设置。<br />

节点说明:上节点:预置值,详见说明。 中节点:上下限参数设置区,详见说明。<br />

下节点:高速计数的配置参数,详见说明<br />

输入控制说明:I 1:参数设置控制, 输入动作( )时 执行设置,重装预置值。<br />

I 2:高速计数器组选择,0 表示选择第 1 组高速计数通道,1 表示选择第 2 组高速计数通道。<br />

I 3:保留<br />

功能输出说明:O 1 = I 1<br />

O 2 : 保留 O 3 : 保留<br />

说明:高速计数设置指令 HSCSET 与高速计数运行指令 HSCRUN 需要配合使用。<br />

上节点:预置值设置<br />

寄存器偏移 内 容 说 明<br />

0 预置值高 16 位(按补码方式显示,最高位为符号位)<br />

1 预置值低 16 位<br />

中节点:上下限设置<br />

寄存器偏移 内 容 说 明<br />

0 比较值下限的高 16 位(按补码方式显示,最高位为符号位)<br />

1 比较值下限的低 16 位<br />

2 比较值上限的高 16 位(按补码方式显示,最高位为符号位)<br />

3 比较值上限的低 16 位<br />

下节点:高速计数的设置参数表:<br />

位号 名称 功能<br />

Bit1、Bit0 外部控制开关 00:禁止外部控制,此时,外部触发信号(即 Z 线)无效。<br />

01:外部触发信号(即 Z 线)可以复位计数,上升沿有效,复位后计数值变成预置值。<br />

10:外部触发信号(即 Z 线)用以使能是否暂停计数,高电平时暂停计数。<br />

11:与 00 方式相同。


Bit3、Bit2 计数触发方式<br />

Bit4 保留<br />

(详见《V80 系列<br />

PLC 硬件手册》2.2.2<br />

高速计数部分)<br />

00:AB 相<br />

01:方向脉冲<br />

10:上下脉冲<br />

11:与 00 方式相同<br />

Bit5 计数模式 0:比较模式,达到上下限后报警,并自动从预置值开始计数<br />

Bit7~Bit15 保留<br />

【示例】<br />

<strong>VLadder</strong> 编程软件使用手册 114<br />

1:饱和模式,到达上下限后不再向前继续计数,并在运行指令里报警,直到接到新预置命令<br />

或计数后退出饱和为止<br />

由于 I2 悬空(为 0),所以该指令操作对第 1 组高速计数通道有效。<br />

高速计数参数取值表(示例说明):<br />

寄存器编号 例值 功能说明<br />

40110 45H<br />

第 1 组高速计数器的计数模式为比较模式,采用方向脉冲触发方式,外部触发信号(即 Z 线)用<br />

来对计数器进行计数复位,复位后的计数值就是预置值 1000(详细如下),上升沿有效。<br />

预置值为 1000。发生预置事件(如 00100 由 0->1,或者 Z 线由 0->1,或者比较方式计数值大于<br />

40120 0 上限比较值)时,第 1 组高速计数器被预置为 1000(其中:预置值高 16 位为 0,预置值低 16 位<br />

为 1000)。<br />

40121 1000<br />

40130 0 下限比较值为 0。当第 1 组高速计数器计数值小于或等于 0 时,重新从预置值 1000 开始计数。<br />

40131 0<br />

40132 1<br />

40133 0<br />

40100(只读) 0<br />

00100<br />

00101<br />

40101(只读) 134<br />

40120<br />

40130<br />

HSCSET<br />

40110<br />

40100<br />

HSCRUN<br />

40100<br />

上限比较值为 10000H(十进制数为 65536)。当高速计数器 1 计数值大于或等于 65536 时,重新<br />

从预置值 1000 开始计数。<br />

计数缓冲区,当前计数值为 134。由于缓冲区的数据更新速度是每个扫描周期一次,远小于高速<br />

计数的最高计数速率,所以该数据存在一定滞后。<br />

当 00100 由 0->1 时,设定上表各种参数;当 00101 为 1 时,第 1 组高速计数器开始运行,编程时要注意先设置后运行。


§8-22 高速计数器运行 HSCRUN<br />

HSCRUN 高速计数器运行<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

HSCRUN<br />

I 2 下节点 O 2<br />

<strong>VLadder</strong> 编程软件使用手册 115<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点<br />

下节点 <br />

指令说明:本指令用于 V80 系列增强型(/S 型)CPU 模块中高速计数功能的运行和停止,需配合高速计数设置指令使用。<br />

节点说明:<br />

输入控制说明:<br />

上节点:寄存器组,表示当前的计数个数。<br />

下节点:保留<br />

I 1:动作控制 输入动作时( ) 执行指令功能,为 1 表示启动计数,为 0 表示停止计数;<br />

I 2:通道选择,为 0 表示选择第 1 组高速计数通道,为 1 表示选择第 2 组高速计数通道。<br />

功能输出说明:O 1:上溢出标志,为 1 表示有上溢出,为 0 表示无溢出;<br />

O 2:下溢出标志,为 1 表示有下溢出,为 0 表示无溢出<br />

注*:为了避免计数混乱,要求在运行 HSCRUN 之前至少运行一次 HSCSET 设置,否则,拒绝计数。<br />

上节点:<br />

寄存器组,共占用两个字,含义如下:<br />

偏移 作用 注<br />

0 当前计数值高 16 位(按补码形式显示)<br />

1 当前计数值低 16 位<br />

【示例】<br />

00101<br />

40100<br />

HSCRUN<br />

40100<br />

大约有 5 个 ms 左右的滞后,视程序量而定。<br />

说明:由于 I2 为 0,所以该指令操作对第 1 组高速计数通道有效。之前,先运行 HSCSET 指令,当 00101 接通时,第 1 组高速计数<br />

通道将会按照设定参数进行计数,计数值存放在 40100(存放计数值高字节)和 40101(存放计数值低字节)中。


§8-23 普通模式脉冲串输出(PTO)设置 N_PTO_S<br />

N_PTO_S 普通模式脉冲串输出(PTO)设置<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

I 2 中节点 O 2<br />

N_PTO_S<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 116<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本指令用于 V80 系列增强型(/S 型)CPU 模块中普通模式脉冲串输出(N_PTO_S)功能的参数设置。<br />

节点说明:上节点:脉冲串输出值参数区,详见说明。 中节点:脉冲串输出周期<br />

下节点:配置寄存器,详见说明<br />

输入控制说明:I 1:参数设置控制 输入动作( ) 时执行设置。<br />

I 2:脉冲串输出通道选择,0:选择第 1 组脉冲串输出通道,1:选择第 2 组脉冲串输出通道。<br />

I 3:保留<br />

功能输出说明:O 1 = I 1<br />

说明:<br />

O2: 保留 O 3: 保留<br />

1、 N_PTO_S 用于设置普通模式脉冲串输出(PTO)功能的运行参数,需要与 PLSRUN 指令配合使用。<br />

2、 执行 N_PTO_S 指令后,对应的 PLSRUN 输出运行指令被认定为普通模式。<br />

3、 在脉冲串输出过程中重新设置参数时,如果当前工作模式为普通模式,则通过设置下节点的 bit3(输出更新设置位)确定是否<br />

需要立即更新;如果当前工作模式为其它模式,则输出会立即更新。<br />

上节点:<br />

脉冲串输出基本参数设置:<br />

偏移 作用 备注<br />

0 脉冲数高 16 位<br />

1 脉冲数低 16 位<br />

2 方向输出线控制字<br />

中节点:<br />

脉冲串输出基本参数设置:<br />

Bit0:被绑定输出线的方向指示<br />

Bit1~Bit15:系统保留<br />

只有进行了方向绑定后才有效。<br />

偏移 作用 备注<br />

0 脉冲串输出周期(单位为基准时间)


下节点:<br />

脉冲串输出配置参数设置:<br />

位号 名称 功能<br />

Bit0 暂停使能控制位 1:绑定对应的高速计数器 Z 线为暂停控制线(其中 PTO1 和 PTO2 分别绑定第 1 组高速计数<br />

器和第 2 组高速计数器的 Z 线);0:绑定无效。<br />

绑定有效时,高速计数器 Z 线为高电平 PTO 输出暂停,Z 线为低电平 PTO 继续输出。<br />

Bit1 方向绑定使能位 1:PTO 脉冲串输出方向绑定 I/O 口有效,0:绑定无效;<br />

Bit2 基准时间设置位 0:1us; 1:1ms<br />

绑定有效时,PTO1 绑定 O0.0 口,PTO2 绑定 O0.1 口。<br />

Bit3 输出更新使能位 0:等待上一次输出完成后,才更新输出(注:只适用于同一种工作模式);<br />

Bit4~15 保留 保留<br />

1:设置完,输出立即更新。<br />

注:由于继电器在响应时间上具有滞后性,因此不建议在继电器输出模块上使用方向绑定功能。<br />

【示例】<br />

00100<br />

00101<br />

00102<br />

00101<br />

40021<br />

40020<br />

N_PTO_S<br />

40010<br />

40100<br />

PLSRUN<br />

40120<br />

00100 从 0 变为 1,N_PTO_S 参数设置指令。如果 00101 为 0,则选择第 1 组通道(P1)为脉冲串输出通道;如果 00101 为 1,<br />

则选择第 2 组通道(P2)为脉冲串输出通道。然后,00102 变为 1 且 40120 为 00H 时,运行高速脉冲串输出指令 PLSRUN,相应的<br />

通道开始高速脉冲串输出。<br />

普通模式脉冲串输出(PTO)参数值示例:<br />

寄存器编号 例值 功能说明<br />

40010 8 高速计数器 Z 线无暂停控制,PTO 脉冲串输出方向未绑定,基准时间为 us,设置后立即进行更新。<br />

40020 300 输出脉冲串的周期为 300us。<br />

40021<br />

40022<br />

2<br />

100H<br />

要输出的脉冲个数为 20100H(即 131328 个),输出完成之后自动停止,直到参数被重新设置。<br />

40023 1 由于方向未绑定,此设置无效。<br />

<strong>VLadder</strong> 编程软件使用手册 117


§8-24 平滑模式脉冲串输出(PTO)设置 B_PTO_S<br />

B_PTO_S 平滑式脉冲串输出(PTO)设置<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 B_PTO_S O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 118<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本指令用于 V80 系列增强型(/S 型)CPU 模块中平滑模式脉冲串输出(B_PTO_S)功能的参数设置。<br />

节点说明:上节点:脉冲串输出值参数区,详见说明。 中节点:脉冲串输出周期<br />

下节点:配置寄存器,详见说明。<br />

输入控制说明:I 1:参数设置控制 输入动作( ) 时执行设置。<br />

I 2:脉冲串输出通道选择,0:选择第 1 组脉冲串输出通道,1:选择第 2 组脉冲串输出通道。<br />

I 3:保留<br />

功能输出说明:O 1 = I 1<br />

说明:<br />

O2: 保留 O 3: 保留<br />

1、 B_PTO_S 用于设置平滑模式脉冲串输出(PTO)功能的运行参数,需要与 PLSRUN 指令配合使用。<br />

2、 执行 B_PTO_S 指令后,对应的 PLSRUN 输出运行指令被认定为平滑模式。<br />

3、 在脉冲串输出过程中重新设置参数时,如果当前工作模式为平滑模式,则通过设置下节点的 bit3(输出更新设置位)确定是否<br />

需要立即更新;如果当前工作模式为其它模式,则输出会立即更新。<br />

平滑模式特性:<br />

在电机运行过程中,可通过 B_PTO_S 参数设置提供相对平稳的电机转速改变。使用方法与普通模式基本相同,平滑段的起始<br />

周期可以由系统默认为 0,可由用户设定。系统默认状态下的平滑特性如下:<br />

1、 从停止进入运行状态时,控制器进入加速阶段,脉冲周期从默认的起始周期逐步递减到目标周期,递减步长为 1 个基准时间。<br />

如果基准时间为 us,则脉冲的起始周期默认为 3000us;如果基准时间为 ms,则脉冲的起始周期默认为 100ms(注意:如果周期<br />

分别大于这两个默认值时,控制器则不进入加速阶段)。如果设定脉冲数少于加速段脉冲数,则不进行加速。<br />

2、 如果运行中更改设置,则起始周期为当前周期时间,加减速段的脉冲数为起始周期与目标周期间的差异数,递增或递减步长为 1<br />

个基准时间。如果两次设置的基准时间不同,则不进入加减速段。 如果设定脉冲数少于加减速段脉冲数,则不进行加速。<br />

3、 总脉冲数为设定脉冲数,不受加速的影响。<br />

4、 平滑模式适用于输出脉冲数多、无频繁启停及对起动特性要求低的场合。<br />

上节点:脉冲串输出基本参数设置:<br />

偏移 作用 备注<br />

0 脉冲数高 16 位<br />

1 脉冲数低 16 位<br />

2 方向输出线控制字<br />

中节点:脉冲串输出周期:<br />

Bit0:被绑定输出线的方向指示<br />

Bit1~Bit15:系统保留<br />

只有进行了方向绑定后才有效。


偏移 作用 备注<br />

0 脉冲串目标输出周期(单位为基准时间)<br />

1 平滑起始周期,系统默认值为 0(详见平滑模式特性)<br />

下节点:脉冲串输出配置参数设置:<br />

位号 名称 功能<br />

Bit0 暂停使能控制位 1:绑定对应的高速计数器 Z 线为暂停控制线(其中 PTO1 和 PTO2 分别绑定第 1 组高速计数<br />

器和第 2 组高速计数器的 Z 线);0:绑定无效。<br />

绑定有效时,高速计数器 Z 线为高电平 PTO 输出暂停,Z 线为低电平 PTO 继续输出。<br />

Bit1 方向绑定使能位 1:PTO 脉冲串输出方向绑定 I/O 口有效,0:绑定无效;<br />

Bit2 基准时间设置位 0:1us; 1:1ms<br />

绑定有效时,PTO1 绑定 O0.0 口,PTO2 绑定 O0.1 口。<br />

Bit3 输出更新使能位 0:等待上一次输出完成后,才更新输出(注:只适用于同一种工作模式);<br />

1:设置完,输出立即更新。<br />

Bit4~15 保留 保留<br />

注:由于继电器在响应时间上具有滞后性,因此,不建议在继电器输出模块上使用方向绑定功能。<br />

【示例】<br />

00100<br />

00101<br />

00102<br />

00101<br />

40030<br />

40020<br />

B_PTO_S<br />

40010<br />

40100<br />

PLSRUN<br />

40120<br />

平滑模式脉冲串输出(PTO)参数值示例:<br />

寄存器编号 例值 功能说明<br />

40010 3<br />

PTO 脉冲串输出方向绑定 I/O 口有效,绑定对应的高速计数器 Z 线为暂停控制线,基准时间为<br />

us,新设置不立即更新<br />

40020 400 平稳态输出脉冲周期为 400us<br />

40021 0 采用默认的平滑方案,由于基准时间为 us,从 3000us 开始平滑<br />

40030<br />

40031<br />

2<br />

100H<br />

要输出的脉冲个数为 20100H(即 131328 个),输出完成之后自动停止,直到参数被重新设置。<br />

40032 1 CPU 模块被绑定输出线 O00 的方向指示为 1<br />

00100 从 0 变为 1 时,进行 B_PTO_S 参数设置。由于绑定了暂停控制线,所以在高速计数 1 的 Z 线为高电平后,再使 00102 变<br />

为 1 且 40120 为 00H 时,相应的通道开始高速脉冲串输出(00101 为 0 和 1 分别对应选择第 1 组通道(P1)和第 2 组通道(P2)为<br />

脉冲串输出通道)。所输出的脉冲频率将会从 333Hz,平稳上升至稳定状态的 2.5KHz。如果输出过程中 Z 线变为 0,则输出暂停,<br />

当 Z 线变为 1 时,再输出剩余的脉冲。<br />

注意:不建议 PTO 和高速计数同时使用 Z 线。<br />

<strong>VLadder</strong> 编程软件使用手册 119


§8-25 多段模式脉冲串输出(PTO)设置 M_PTO_S<br />

M_PTO_S 多段模式脉冲串输出(PTO)设置<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 M_PTO_S O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 120<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本指令用于 V80 系列增强型(/S 型)CPU 模块中多段模式脉冲串输出(M_PTO_S)或包络输出功能的参数设置。<br />

节点说明:上节点:脉冲串输出值参数区,详见说明。 中节点:包络段数<br />

下节点:配置寄存器,详见说明。<br />

输入控制说明:I 1:参数设置控制 输入动作( ) 时执行设置。<br />

I 2:脉冲串输出通道选择,0:选择第 1 组脉冲串输出通道,1:选择第 2 组脉冲串输出通道。<br />

I 3:保留<br />

功能输出说明:O 1 = I 1<br />

说明:<br />

O2: 错误指示,0 正常,1 设置错误,如包络数组的段数大于 256 或等于 0 O 3: 无用<br />

1、 M_PTO_S 用于设置多段模式脉冲串输出(PTO)功能的运行参数,需要与 PLSRUN 指令配合使用。<br />

2、 执行 M_PTO_S 指令后,对应的 PLSRUN 输出运行指令被认定为多段模式。<br />

3、 工作时重新设置参数,输出会立即更新。<br />

多段模式特性:<br />

多段模式脉冲串输出允许的包络数最大为 256 段。每一段的速率调解可独立完成,通过选择适当的参数,可以获得非常精细的<br />

速度包络曲线。多段模式适用于输出脉冲数较少、启停频繁及对起动特性要求较高的场合。<br />

上节点:<br />

脉冲串输出基本参数设置:<br />

偏移 作用 备注<br />

0<br />

第<br />

起始周期(单位为基准时间)<br />

为 0 时,输出空段,用于方向<br />

切换延时,此时无脉冲输出。<br />

1 递进周期 T(bit0~bit14 有效,bit15 为 空段时无意义;<br />

1<br />

2<br />

段<br />

包<br />

络<br />

递进方向控制位,1 为减,0 为增)<br />

递进间隔脉冲数 N<br />

为 0 时表示速度不变,即匀速<br />

空段时无意义<br />

速度斜率控制(递进周期 T/间隔脉冲数 N),<br />

如下图所示。<br />

数<br />

3 据<br />

当前段脉冲数 空段延时时间,单位为 ms 空段时,脉冲输出为低电平。<br />

方向输出 Bit0:被绑定输出线的方向指示<br />

4<br />

只有进行了方向绑定后,才有效。<br />

线控制字 Bit1~Bit15:系统保留<br />

5~1280 第 2~第 256 段包络,具体分布结构同上 同上<br />

注意:使用该指令时,一定要留出足够的存储空间用于存放包络数据。


中节点:<br />

多段模式的包络段数<br />

3ms<br />

偏移 作用<br />

0 多段模式的包络段数<br />

下节点:<br />

脉冲串输出配置参数设置:<br />

5ms 5ms 5ms 7ms 速度<br />

斜率<br />

递<br />

进<br />

周<br />

期<br />

每间隔 3 个脉冲,周期增加 2ms<br />

位号 名称 功能<br />

Bit0 暂停使能控制位 1:绑定对应的高速计数器 Z 线为暂停控制线(其中 PTO1 和 PTO2 分别绑定第 1 组高速计数<br />

器和第 2 组高速计数器的 Z 线);0:绑定无效。<br />

绑定有效时,高速计数器 Z 线为高电平 PTO 输出暂停,Z 线为低电平 PTO 继续输出。<br />

Bit1 方向绑定使能位 1:脉冲串输出方向绑定 I/O 口有效,PTO1 绑定 O0.0 口,PTO2 绑定 O0.1 口; 0:绑定无效<br />

Bit2 基准时间设置位 0:1us; 1:1ms<br />

Bit3~15 保留 保留<br />

注: 如果在继电器输出模块上或在大惯性负载上使用方向绑定功能,建议换向时采用空段进行延时切换。<br />

【示例】<br />

00100<br />

00101<br />

00102<br />

00101<br />

多段模式脉冲串输出(PTO)参数值示例:<br />

寄存器编号 例值 功能说明<br />

40010 1 暂停使能控制无效,使能方向输出绑定功能,基准时间为 1us<br />

40012 7 输出段数为 7。<br />

40020 2000 第 1 段起始周期时间为 2000us(或 2ms)。<br />

40021 8001H 第 1 段的递减周期为 1us,电机加速<br />

40022 2 第 1 段递进间隔脉冲数为 2,每两个脉冲后周期减 1us<br />

40023 3200 第 1 段脉冲数为 3200,<br />

40024 0 第 1 段电机方向输出为 0。<br />

40020<br />

40012<br />

M_PTO_S<br />

40010<br />

40100<br />

PLSRUN<br />

40120<br />

40025 400 第 2 段起始周期时间为 400us。<br />

40026 0 第 2 段的递进周期为 0,电机匀速<br />

<strong>VLadder</strong> 编程软件使用手册 121<br />

3 脉冲<br />

递进间隔<br />

2ms


40027 1 第 2 段电机匀速。<br />

40028 20000 第 2 段输出脉冲个数为 20000<br />

40029 0 第 2 段电机方向输出为 0<br />

40030 400 第 3 段起始周期时间为 400us。<br />

40031 1 第 3 段的递增周期为 1us,电机减速<br />

40032 1 第 3 段递进间隔脉冲数为 1,每个脉冲后周期加 1us<br />

40033 1600 第 3 段输出脉冲个数为 1600。<br />

40034 0 第 3 段电机方向输出 0<br />

40035 0 第 4 段为空段,用于电机换向,此时,无脉冲输出<br />

40036 0 第 4 段,空段<br />

40037 0 第 4 段,空段<br />

40038 100 第 4 段为空段,空段延时时间为 100ms<br />

40039 1 第 4 段电机方向输出为 1,电机开始换向。<br />

40040 4000 第 5 段起始周期时间为 4000us(或 4ms)。<br />

40041 8002H 第 5 段的递减周期为 2us,电机加速<br />

40042 1 第 5 段递进间隔脉冲数为 1,每 1 个脉冲后周期减 2us<br />

40043 1500 第 5 段输出脉冲个数为 1500。<br />

40044 1 第 5 段电机方向输出为 1<br />

40045 1000 第 6 段起始周期时间为 1000us。<br />

40046 0 第 6 段的递进周期为 0,电机匀速。<br />

40047 1 第 6 段电机匀速。<br />

40048 3000 第 6 段输出脉冲个数为 3000。<br />

40049 1 第 6 段电机方向输出 1。<br />

40050 1000 第 7 段起始周期时间为 1000us。<br />

40051 2 第 7 段的递增周期为 2us,电机减速<br />

40052 1 第 7 段递进间隔脉冲数为 1,每 1 个脉冲后周期增 2us<br />

40053 4500 第 7 段输出脉冲个数为 4500。<br />

40054 1 第 7 段电机方向输出 1<br />

如果 00101 为 0 或 1,则分别选择第 1 组通道(P1)或第 2 组通道(P2)为脉冲串输出通道。00100 从 0 变成 1,完成对应输<br />

出通道的多段模式脉冲串输出参数设置。00102 为 1 且 40120 为 00H 时,对应通道开始脉冲串输出,第 1 段,电机加速,脉冲频率<br />

按双曲线轨迹从 500Hz 上升至 2.5KHz;第 2 段,进入匀速状态;第 3 段,电机减速,脉冲频率按双曲线轨迹降为 500Hz;第 4 段,<br />

进入空段,脉冲输出为零,电机改变方向;第 5 段,电机加速,脉冲频率从 250Hz,按双曲线轨迹上升至 1KHz;第 6 段,进入匀速<br />

运动状态;第 6 段,电机减速,脉冲频率降为 100Hz。脉冲频率变化曲线与电机速度成正比,如下图所示:<br />

2500Hz<br />

脉冲频率<br />

500Hz<br />

输出方向<br />

注意:1、一般情况下,应保证各段波形间的平滑衔接,特别是有方向变化的段(可通过插入空段来实现)。<br />

2、不建议 PTO 和高速计数同时使用 Z 线。<br />

<strong>VLadder</strong> 编程软件使用手册 122<br />

500Hz<br />

250Hz<br />

0Hz<br />

1000Hz<br />

100Hz


§8-26 脉宽调制输出(PWM)设置 PWM_S<br />

PWM_S 脉宽调制输出(PWM)设置<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

中节点<br />

I 2 PWM_S O 2<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 123<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本指令用于 V80 系列增强型(/S 型)CPU 模块中脉冲宽度调制输出功能(PWM)的参数设置。<br />

节点说明:上节点:脉冲宽度,单位为基准时间。 中节点:脉冲周期,单位为基准时间<br />

下节点:配置寄存器,详见说明。<br />

输入控制说明:I 1:参数设置控制 输入动作时( ) 执行设置。<br />

I 2:脉冲输出组选择, 为 0 表示选择第 1 组脉冲输出通道,为 1 表示选择第 2 组脉冲输出通道。<br />

I 3:保留。<br />

功能输出说明:O 1 = I 1<br />

说明:<br />

O2:保留。 O 3:保留。<br />

1、 PWM_S 用于设置脉宽调制输出(PWM)功能的运行参数,需要与 PLSRUN 指令配合使用。<br />

2、 执行 PWM_S 指令后,对应的 PLSRUN 输出运行指令被认定为脉宽调制输出模式。<br />

3、 工作时重新设置参数,输出会立即更新。<br />

上节点:<br />

脉冲宽度设置:<br />

偏移 名称 功能<br />

0 脉冲宽度 设置输出的脉冲宽度,单位为基准时间。<br />

中节点:<br />

脉冲周期设置:<br />

偏移 名称 功能<br />

0 脉冲周期 设置输出的脉冲周期,单位为基准时间,且周期必须大于脉宽。<br />

下节点:<br />

脉冲输出配置参数设置:<br />

位号 名称 功能<br />

Bit0 暂停使能控制位 1:绑定对应的高速计数器 Z 线为暂停控制线(其中 PTO1 和 PTO2 分别绑定第 1 组高速计数器和<br />

第 2 组高速计数器的 Z 线);0:绑定无效。<br />

绑定有效时,高速计数器 Z 线为高电平 PTO 输出暂停,Z 线为低电平 PTO 继续输出。


Bit1 保留 保留<br />

Bit2 基准时间 0:1us<br />

1:1ms<br />

Bit15~3 保留 保留<br />

【示例】<br />

00100<br />

00101<br />

40020<br />

40021<br />

PWM_S<br />

40010<br />

脉宽调制输出参数值设置示例<br />

寄存器编号 例值 功能说明<br />

40010 0 方向输出绑定功能无效,基准时间为 us<br />

40020<br />

40021<br />

200<br />

1000<br />

输出脉冲周期为 1000us,脉宽为 200us,此时,脉冲的占空比为 20%。<br />

当 00100 为 1 时,进行脉宽调制输出参数设置,方向输出绑定功能无效,基准时间为 us。00101 为 0 和 1 分别对应选择第 1 组<br />

通道(P1)和第 2 组通道(P2)为脉冲输出通道。<br />

<strong>VLadder</strong> 编程软件使用手册 124


§8-27 脉冲输出运行 PLSRUN<br />

PLSRUN 脉冲输出运行<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

PLSRUN<br />

I 2 下节点 O 2<br />

<strong>VLadder</strong> 编程软件使用手册 125<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点<br />

下节点<br />

指令说明:本指令用于控制 V80 系列增强型(/S 型)CPU 模块的脉冲输出功能的运行和停止。<br />

节点说明:<br />

输入控制说明:<br />

上节点:寄存器组,在 PTO 模式下,表示当前剩余的待输出的脉冲数,PWM 模式未用。<br />

下节点:PLS 使能控制,bit0 有效,为 1 表示停止脉冲输出,为 0 表示使能脉冲输出,从 0 变为 1 时,清空设置参数。<br />

I 1:动作控制 输入动作时( ) 执行指令功能,为 1 表示启动脉冲输出,为 0 表示暂停脉冲输出。<br />

I 2:通道选择,为 0 表示选择第 1 组脉冲输出通道,为 1 表示选择第 2 组脉冲输出通道。<br />

功能输出说明:O 1:PLS 忙标志,为 1 表示输出忙,为 0 表示空闲<br />

O 2:错误标志,为 1 表示运行错误,例如,未设置时,即运行该指令。<br />

注:在运行 PLSRUN 指令之前至少运行一次 PLS 设置。<br />

上节点:<br />

偏移 作用 备注<br />

0<br />

普通模式:剩余的待输出脉冲数高 16 位<br />

缓冲模式:剩余的待输出脉冲数高 16 位<br />

多段模式:剩余的待输出段数<br />

1 剩余的待输出脉冲或段数低 16 位<br />

【示例】<br />

00100<br />

40100<br />

PLSRUN<br />

40120<br />

约有 5ms 左右的时间滞后,<br />

视程序大小而定<br />

说明:当 00100 接通且 40120 为 00H 时,相应的通道开始高速脉冲输出;40120 为 01H 时,相应的通道停止脉冲输出。


§8-28 ModBus 信息控制 M_BUS<br />

M_BUS ModBus 信息控制<br />

梯形图符号 操作数种类<br />

I 1 上节点 O 1<br />

I 2 中节点 O 2<br />

M_BUS<br />

I 3 下节点 O 3<br />

<strong>VLadder</strong> 编程软件使用手册 126<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本指令是针对 V80 系列 PLC 单元所提供的 MODBUS 主站功能,提供梯形图程序的应用界面。应用程序可通过该功能<br />

完成主站单元对多台 MODBUS 从站单元联机,进行数据交换。该指令输出用以指示其执行情况。<br />

节点说明:上节点:M_BUS 读写命令, 0 => READ, 1 => WRITE 中节点:读写 M_BUS 单元的设备编号(1-254), 0 => 广播方式<br />

下节点:M_BUS 菜单参数设定区,详见下面的参数设定说明。<br />

输入控制说明: I 1:动作控制 输入作动时( ) 执行此指令,命令只有在 0->1 时才触发动作, 直到结束。<br />

若激活时,尚有其它的 M_BUS 指令处于激活状态, 则 O 2 马上为“ON”,表示该任务被挂起。<br />

功能输出说明:O1: 指示指令执行情况,= 1,表示命令已经执行成功;<br />

说明:<br />

下节点:<br />

O2: 指示指令的工作状态,=1,正在工作;<br />

O3: 错误指示, = 1,代表命令执行失败。有可能参数有误, 传输错误或其它. 请参看错误信息说明.<br />

M_BUS 指令是依据下列参数执行,用户仅需依照规定对指令进行适当参数设定,指令便自动执行用户的命令。<br />

下节点参数设定说明:(M_BUS 指令执行时,工作区与状态区占用 6 个连续的寄存器)<br />

寄存器编号 内 容<br />

4xxx1 高 8 位:错误信息;低 8 位:系统内部使用,用户不可以改写。<br />

4xxx2 主站数据类型:1) 0 代表输出线圈 2) 1 代表输入接点<br />

3) 3 代表输入寄存器 4) 4 代表输出寄存器<br />

4xxx3 主站数据偏移,需根据本站数据类型配合。<br />

如:V80 本站数据类型设为 4,偏移设为 100。 主站寻址为:40100<br />

4xxx4 从站数据类型:1) 0 代表输出线圈 2) 1 代表输入接点<br />

3) 3 代表输入寄存器 4) 4 代表输出寄存器<br />

4xxx5 从站数据偏移,需配合他站数据类型来看.<br />

如:从站数据类型设为 4,从站偏移设为 100。代表从站寻址为:400100<br />

4xxx6 数据读写数量<br />

若为寄存器,则代表读写的寄存器个数;若为线圈或输入接点,则代表其点数。<br />

【起动 M_BUS MASTER】<br />

M_BUS MASTER 功能激活须经过 <strong>VLadder</strong> 的通讯参数设置后方可使用。激活过程如下:<br />

STEP 1: 进入 VLADDER 后,先连接 PLC 使之处于在线状态。<br />

STEP 2: 选择左侧树形菜单中的“系统参数设定”,弹出“通讯参数设置”对话框。


STEP 3: 选择通讯口 2。<br />

STEP 4: 选择“MODBUS M/S”为 MASTER,表示 COM2 置于 MODBUS 主协议通讯模式,通讯模式选择 RTU。<br />

STEP 5: 根据需要设置波特率、奇偶校验和超时时间。<br />

STEP 6: 点击确定,即完成设置。<br />

【数据类型匹配】<br />

操作方式 主站 从站<br />

读操作<br />

写操作<br />

【错误信息】<br />

0:通讯成功。<br />

1:接收超时。<br />

2:参数设置错误(或主从站数据类型匹配错误)。<br />

3:接收数据错误。<br />

4:CRC 校验错误。<br />

【示例】<br />

0 (输出线圈) 0 (输出线圈)<br />

0 (输出线圈) 1 (输入接点)<br />

<strong>VLadder</strong> 编程软件使用手册 127<br />

4 (输出寄存器) 3 (输入寄存器)<br />

4 (输出寄存器) 4 (输出寄存器)<br />

0 (输出线圈) 0 (输出线圈)<br />

1 (输入接点) 0 (输出线圈)<br />

3 (输入寄存器) 4 (输出寄存器)<br />

4 (输出寄存器) 4 (输出寄存器)<br />

下面的例子是主站 00001-00010 的数据写到从站 00001-00010 区,触发 M_BUS 的条件是 00101 产生由 0 到 1 的跳变。错误<br />

信息可以从 40100 寄存器读取。


§8-29 自由通讯发送指令 XMT<br />

XMT XMT 自由通讯发送指令<br />

梯形图符号 操作数种类<br />

I1 上节点 O1<br />

中节点<br />

I2 XMT O2<br />

I3 下节点 O3<br />

<strong>VLadder</strong> 编程软件使用手册 128<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本指令是针对 V80 系列 PLC 所提供的自由通讯发送(XMT)功能提供梯形图程序的应用界面。本指令只是针对 V80 系<br />

列 PLC 的通讯口 2 来使用。<br />

节点说明:上节点:发送区首地址 中节点:发送长度<br />

下节点:错误指示,非 0 即表示有错误产生<br />

输入控制说明:I1:动作控制 输入作动时( ) 执行此指令, 命令只有在 0->1 时才触发作动, 直到结束.<br />

指令激活时,O1 置为 OFF, 表示通讯口 2 资源被占用;接收完成后,O1 置为 ON,表示通讯口 2 资源释放。<br />

功能输出说明:O1:指示通讯口 2 资源是否被占用,ON:没有被占用;OFF:已被占用<br />

O2:保留;O3:保留<br />

注意:使用 XMT 指令时,必须先设置特殊继电器 09933 为 ON,此时,V80 通讯口 2 是在自由通讯模式下,ModBus 主从功能被禁<br />

止。


§8-30 自由通讯接收指令 RCV<br />

RCV RCV 自由通讯接收指令<br />

梯形图符号 操作数种类<br />

I1 上节点 O1<br />

中节点<br />

I2 RCV O2<br />

I3 下节点 O3<br />

<strong>VLadder</strong> 编程软件使用手册 129<br />

0 1 3 4 C P L<br />

上节点 <br />

中节点 <br />

下节点 <br />

指令说明:本指令是为 V80 系列 PLC 的自由通讯接收(RCV)功能提供梯形图程序的应用界面。本指令只适用于 V80 系列 PLC 的<br />

通讯口 2。<br />

节点说明:上节点:接收区首地址 中节点:参数设定区<br />

下节点:参数设定区<br />

输入控制说明:I1:动作控制 输入动作时( ) 执行此指令, 命令只有在 0->1 时才触发动作, 直到结束.<br />

指令激活时,O1 置为 OFF, 表示通讯口 2 资源被占用;接收完成后,O1 置为 ON,表示通讯口 2 资源释放。<br />

功能输出说明:O1:指示通讯口 2 资源是否被占用,ON:未被占用;OFF:已被占用<br />

指令节点设置:<br />

中节 点 4XXX1<br />

下节点<br />

O2:保留;O3:保留<br />

00001<br />

+16 的整数倍<br />

字偏移 内容 备注<br />

0 字符超时时间(单位是 1ms)<br />

1 开始字符<br />

2 结束字符<br />

3 接收最大字符数<br />

4 接收超时时间(单位是 10ms)<br />

用户设置寄存器<br />

5 接收字节长度 系统寄存器<br />

位偏移 内容 备注<br />

0 允许接收控制位 系统使用,用户不可更改<br />

1 允许接收超时<br />

2 允许字符超时<br />

3 允许开始字符<br />

4 允许结束字符<br />

5 接收到一个字符超时<br />

6 接收到最大字节数<br />

7 接收到一个结束字符<br />

8 接收超时<br />

9 参数错误指示<br />

用户设置位<br />

系统显示位


说明:<br />

(1)使用 RCV 指令时,必须先设置特殊继电器 09933 为 ON。此时,通讯口 2 是在自由通讯模式下,MODBUS 主从功能被禁止。<br />

(2)必须设置接收结束条件。即“允许字符超时”和“允许结束字符”两个控制位必须至少选择其中一个或者两个,否则,参数错误指<br />

示位将置为 ON。<br />

(3)“接收到最大字节数”是系统默认有效值为 100 个字节(也可由用户设置),当系统检测到接收到的数据个数达到设定个数时,<br />

接收停止,系统设置“接收到最大字节数位”为 ON。<br />

(4)“字符超时时间”作为帧结束条件使用,当用户接收到第一个字节后,如果系统检测到“字符超时时间”内仍未接收到下一字节,<br />

就认为该帧结束。同时,设置“接收到一个字符超时”位为 ON。该寄存器的系统默认值为 50(即 50ms),也可由用户设定。注意,<br />

使用字符超时时间功能前,必须先设置“允许字符超时”位为 ON,否则,该功能被禁止。<br />

(5)“开始字符”是指每帧接收到的起始字符,在接收到该字符时,表明该帧接收开始,其它都作为无效字符被舍弃。用户使用开始<br />

字符功能时,需设置“允许开始字符”控制位为 ON,否则该功能被禁止。<br />

(6)“接收超时时间”是指从触发 RCV 指令到接收到第一个有效字符的时间。该位的系统默认值为 90(即 90 秒),也可由用户设定。<br />

用户使用该功能时,需设置“允许接收超时”控制位为 ON,否则该功能被禁止。<br />

(7)“结束字符”是指每帧接收到的结束字符,在接收到该字符时,表明该帧接收完成,并置“接收到一个结束字符”控制位为 ON。<br />

用户使用该功能时,需设置“允许结束字符”位为 ON,否则该功能被禁止。<br />

(8)“接收字节长度”接收完成接收时,由系统给出的接收字节长度,用户可通过它读出接收帧的长度。<br />

【示例】<br />

下面的梯形图例程是一个先发送数据然后接收数据的基本演示程序。当 00100 为 ON 时,触发一次发送和接收过程,PLC 先发<br />

送“aa”字符,设备接受到“aa”后,回送数据并由 PLC 接收。<br />

<strong>VLadder</strong> 编程软件使用手册 130


注意:接收指令 RCV 和发送指令 XMT 需由同一信号源触发(如上面示例),如果用发送指令 XMT 的输出信号触发接收指令 RCV<br />

会造成部分接收数据丢失,这种现象是由于 PLC 程序扫描周期延时造成的。<br />

如下面梯形图程序就会出现部分接受数据丢失的问题。<br />

<strong>VLadder</strong> 编程软件使用手册 131


附录 A <strong>VLadder</strong> 指令一览表<br />

§A-1 接点指令一览表<br />

指令名称 对应操作数 符号<br />

A 接点<br />

B 接点<br />

1xxxx<br />

0xxxx<br />

1xxxx<br />

0xxxx<br />

线圈 0xxxx<br />

上沿触发线圈 0xxxx<br />

下沿触发线圈 0xxxx<br />

设置线圈 0xxxx<br />

复位线圈 0xxxx<br />

保持线圈 0xxxx<br />

设置保持线圈 0xxxx<br />

复位保持线圈 0xxxx<br />

<strong>VLadder</strong> 编程软件使用手册 132


§A-2 应用指令一览表<br />

§A-2-1 基本应用指令<br />

指令缩写 指令全称(英) 指令描述<br />

T1.0 1 second timer 1.0 秒定时器<br />

T0.1 0.1 second timer 0.1 秒定时器<br />

T0.01 0.01 second timer 0.01 秒定时器<br />

UCTR Up counter 上数计数器<br />

DCTR Down counter 下数计数器<br />

§A-2-2 数学运算指令<br />

指令缩写 指令全称(英) 指令描述<br />

ADD Decimal addition (4 digits) 4 位数十进制加法器 word+word = word (D)<br />

ADDB Hexadecimal addition (4 digits) 4 位数十六进制加法器 word+word = word (B)<br />

ADDL Decimal addition (8 digits) 8 位数十进制加法器 long word+long word = long word (D)<br />

ADBL Hexadecimal addition (8 digits) 8 位数十六进制加法器 long word+long word = long word (B)<br />

FADD Floating point addition 浮点数加法器 float+float = float<br />

SUB Decimal subtraction (4 digits) 4 位数十进制减法器 word-word = word (D)<br />

SUBB Hexadecimal subtraction (4 digits) 4 位数十六进制减法器 word-word = word (B)<br />

SUBL Decimal subtraction (8 digits) 8 位数十进制减法器 long word-long word = long word (D)<br />

SBLB Hexadecimal subtraction (8 digits) 8 位数十六进制减法器 long word-long word = long word (B)<br />

FSUB Floating point subtraction 浮点数减法器 float-float = float<br />

MUL Decimal multiplication (4 digits)<br />

4 位数十进制乘法器 word×word = long word (D)<br />

MULB Hexadecimal multiplication (4 digits)<br />

4 位数十六进制乘法器 word×word = long word (B)<br />

MULM Decimal multiplication (4 digits)<br />

4 位数十进制乘法器 word× word = word (D)<br />

MLBM Hexadecimal multiplication (4 digits)<br />

4 位数十六进制乘法器 word×word = word (B)<br />

MULL Decimal multiplication (8 digits) 8 位数十进制乘法器 long word×long word = long word (D)<br />

MLBL Hexadecimal multiplication (8 digits) 8 位数十六进制乘法器 long word×long word = long word (B)<br />

FMUL Floating point multiplication 浮点数乘法器 float×float = float<br />

DIV Decimal division (4 digits)<br />

DIVB Hexadecimal division (4 digits)<br />

DIVM Decimal division (4 digits)<br />

DVBM Hexadecimal division (4 digits)<br />

<strong>VLadder</strong> 编程软件使用手册 133<br />

4 位数十进制除法器 long word÷word = word (D)<br />

4 位数十六进制除法器 long word÷word = word (B)<br />

4 位数十进制除法器 word ÷word = word (D)<br />

4 位数十六进制除法器 word ÷word = word (B)<br />

DIVL Decimal division (8 digits) 8 位数十进制除法器 long word÷long word = long word (D)<br />

DVBL Hexadecimal division (8 digits) 8 位数十六进制除法器 long word÷long word = long word (B)<br />

FDIV Floating point division 浮点数除法器 float×float = float<br />

ISQR Integral square root 计算整数平方根<br />

FSQR Floating point square root 计算浮点数平方根<br />

§A-2-3 表格数据处理指令<br />

指令缩写 指令全称(英) 指令描述<br />

R->T Register move to table 寄存器向表格的数据移动<br />

T->R Table move to register 表格向寄存器的数据移动<br />

T->T Table move to table 表格向表格的数据移动<br />

T-CM Table element comparison 表格数据的比较<br />

T-SR Table element search 表格数据的查找


T-RS Table element rotate/shift 表格数据的旋转/移动<br />

TXHG Table element exchange 表格数据的互换<br />

BLKM Block move 区块数据移动<br />

PUSH Stack command - PUSH 数据压入堆栈<br />

POP Stack command - POP 数据弹出堆栈<br />

§A-2-4 逻辑运算指令<br />

指令缩写 指令全称(英) 指令描述<br />

AND Array logical operation - AND 数组的“与”运算<br />

OR Array logical operation - OR 数组的“或”运算<br />

XOR Array logical operation - XOR 数组的“异或”运算<br />

COMP Array operation - 1’s complement 数组的位取反运算<br />

§A-2-5 位处理指令<br />

指令缩写 指令全称(英) 指令描述<br />

CMPR Array element comparison 数组的位比较<br />

BROT Array element’s bit rotate/shift 数组的位旋转/移动<br />

ODSR One digit rotate/shift 数组的半字节旋转/移动<br />

MBIT Array element bit modify 数组的位更改<br />

SENS Array element’s detection 数组的位状态检测<br />

§A-2-6 数据格式转换指令<br />

指令缩写 指令全称(英) 指令描述<br />

DECO 4->16 decoder 4->16 译码器<br />

ENCO 16->4 encoder 16->4 编码器<br />

B->C Binary to BCD code convert 二进制数值转为 BCD 数值<br />

C->B BCD code to binary convert BCD 数值转为二进制数值<br />

SSEG Seven segment display decoder 七段码显示译码器<br />

PACK Word(16 bits) unpack/pack 字组(Word)的分解/组合<br />

I->F Integer to floating convert 整数转为浮点数<br />

F->I Floating to integer convert 浮点数转为整数<br />

§A-2-7 流程控制指令<br />

§A-2-6 其它指令<br />

指令缩写 指令全称(英) 指令描述<br />

JMP Jump label 跳转<br />

EOJ End of Jump 跳转结束<br />

JSR Call subroutine 调用子程序<br />

SBR Subroutine 定义子程序<br />

RET Subroutine return 子程序返回<br />

FOR Loop command - FOR 循环 FOR 指令<br />

NEXT Loop command - NEXT 循环 NEXT 指令<br />

EOP End of main program 主程序结束<br />

SKIP Skip ladder page 略过<br />

MCS Master control 流程控制<br />

MSE End of master control 流程控制结束<br />

<strong>VLadder</strong> 编程软件使用手册 134


指令缩写 指令全称(英) 指令描述<br />

INIP Initialize pointer 初始化指针<br />

INCP Increase pointer content 指针值递增<br />

PADD Pointer addition 指针加法器<br />

DECP Decrease pointer content 指针值递减<br />

PSUB Pointer subtract 指针减法器<br />

MOVE Register initialize 寄存器赋值<br />

RCMP Register comparison 寄存器数据比较<br />

DGET Get calendar date 读取系统日期<br />

DSET Set calendar date 设置系统日期<br />

DCMP Calendar date comparison 系统日期比较<br />

TGET Get calendar time 读取系统时间<br />

TCMP Calendar time comparison 系统时间比较<br />

STAT Get system status 读取系统状态<br />

CAM CAM simulator 轮鼓模拟器<br />

CDMR Common data memory read 读取共享数据区<br />

CDMW Common data memory write 写入共享数据区<br />

PID Proportional-Integral-Differential control PID 比例积微分控制<br />

PID2 Proportional-Integral-Differential control PID2 比例微积分控制<br />

SADDR Set station address 站地址设置<br />

HSCSET Set High Speed Counter (HSC) 高速计数器设置<br />

HSCRUN Run High Speed Counter (HSC) 高速计数器运行<br />

N_PTO_S Set Normal Pulse Train Output (PTO) 普通模式脉冲串输出(PTO)设置<br />

B_PTO_S Set Buffer Pulse Train Output (PTO) 平滑模式脉冲串输出(PTO)设置<br />

M_PTO_S Set Multi-section Pulse Train Output (PTO) 多段模式脉冲串输出(PTO)设置<br />

PWM_S Set Pulse Width Modulated (PWM) 脉宽调制输出(PWM)设置<br />

PLSRUN Run pulse output 脉冲输出运行<br />

M_BUS ModBus message control ModBus 信息控制<br />

XMT Transmitter data in freeport mode 自由通讯发送指令<br />

RCV Receive data in freeport mode 自由通讯接收指令<br />

INTSET Interrupt set 中断设置<br />

<strong>VLadder</strong> 编程软件使用手册 135


附录 B 编辑梯形图程序的注意事项<br />

(一)COIL<br />

1:对于同一编号 COIL “-( )-”,LATCH COIL“-(M)-”、“-()-” 与“-()-”不可并存。<br />

2:对于同一编号 COIL、SET COIL 与 RESET COIL 可同时使用并不限制,但系统会以“-[ ]-”,来告知用户。<br />

(二)配对指令<br />

配对指令计有: A. FOR -- NEXT<br />

B. JMP -- EOJ<br />

C. JSR -- SBR -- RET<br />

1:对于配对指令用户所给与的标号需互相配合,否则程序执行结果将会产生错误。<br />

2:对于配对指令在程序中放置的位置:<br />

a.FOR: 在编辑程序某一页时,在 FOR 指令前尚可放置其它指令,因其并不属于 FOR 循环,但 FOR 之后不可再接任何指令,<br />

FOR 循环的指令需从下一页再开始编辑。<br />

b.EOJ、SBR、RET 及 NEXT、JMP、JSR: 在编辑这些指令时,都必需将它们放置在某一页的最开头的位置,且其后禁止放置<br />

任何指令,若有指令皆需从下一页开始编辑。<br />

(三)EOP: 即 End Of Program 代表主程序结束,一般除非有子程序的存在,否则此指令将很少用到,本指令的用法与 EOJ 等相同,<br />

唯一的差别是使用本指令时,并不需给任何参数。<br />

(四)指令节点的限制<br />

当在使用指令时,对于某些指令其下节点为常数时,便会限制其输入的范围,其限制如下表:<br />

限制范围 指 令 种 类<br />

1~255 R -> T、T -> R、T -> T、MBIT、PID、CAM<br />

1~100 BLKM、T_CM、T_SR、PUSH、POP、AND、OR、XOR、COMP、CMPR、SENS、BROT、T_R/S、<br />

TXHG<br />

1~31 ODSR<br />

1~4 SSEG、DECO、ENCO<br />

1~130 STAT<br />

1~2 B -> C、C -> B、I -> F、F -> I<br />

1~32 JSR、SBR、RET<br />

1~32 FOR、NEXT<br />

1~64 JMP、EOJ<br />

1~15 INIP、INCP、DECP<br />

不必输入 PACK<br />

注:FOR、NEXT、JMP、EOJ、JSR、SBR、RET 为上节点的标号限制。<br />

(五)页的编辑<br />

1.EXPAND COLUMN:<br />

EXPAND COLUMN 是将屏幕分成两个区域,对于光标所在行及其右边各行为一区块,而左半部为另一区域,在执行时<br />

需注意: a.右方必须尚有空行,<br />

b.最右方的元件所在行必须小于等于 10 ,但并不包括 COIL,<br />

c.光标所在行必须不可有 COIL 的存在。<br />

2.COMPRESS COLUMN: COMPRESS COLUMN 其目的是要消除光标所在行,在执行时需注意“ 必须整行为空行才可使用此功<br />

能 ”。<br />

<strong>VLadder</strong> 编程软件使用手册 136


3.EXPAND ROW: EXPAND ROW 是将屏幕分成两个区域,光标所在列及其下方各列为一区块,而上半部为另一区块,在执行<br />

时需注意:最下方须仍有空列,即最下面的元件所在列须小于 7。<br />

4.COMPRESS ROW: COMPRESS ROW 其目的是要消除光标所在列,在执行时需注意:必须整列为空列才可使用此功能。<br />

5.PAGE 的复制与剪切:<br />

a.PAGE 的复制会将欲复制的 PAGE 插入目前屏幕所显示的 PAGE 之后;PAGE 的剪切亦同样会将欲剪切的页移至所输入的<br />

目的地之后。<br />

b.对于已经 MARK 的 PAGE 则可作多次的复制。<br />

c.PAGE 的复制是无法复制一个 PAGE 于 PAGE 1。<br />

d.若插入一工作页于第一页, 其方式为:暂时离开程序编辑,即进入编辑区的第一层,选择功能键[F1]INSERT PAGE 便可。<br />

e.一旦做过页的剪切、删除或增加则先前所执行页的 MARK 将不再存在。<br />

注意: 请尽量避免在线修改程序。如果在线修改过程中出现问题,请离线重新打开!<br />

<strong>VLadder</strong> 编程软件使用手册 137


附录 C 运行开关设置及状态指示<br />

§A-1 运行开关<br />

本体单元的运行开关有 3 个状态,如图 2.2 所示,分别是 RUN、STOP/PROG 和 RST:<br />

RUN——运行模式,用于程序的正常运行。此模式上电,将把用户程序和系统参数(如通信设置参数等)从备份 Flash ROM<br />

下载到控制器程序区中运行。带电切换“PROG→RUN”时,直接运行控制器用户程序区中的应用程序(注意:此时请勿<br />

在线修改程序)。上电或切换到此模式时,各线圈和寄存器是否保持上一次掉电前的状态均有特殊继电器的设置决定。<br />

PROG——编程/停止模式,可用于在线编程和调试。此模式上电,系统重新载入掉电前控制器程序区中的内容,只有在<br />

此模式下,才可以进行程序在线修改和写入 Flash ROM 操作(而在 RUN 或 RST 模式下,只可以用 Vladder 进行状态监<br />

视和强制操作)。带电切换“RUN→PROG”或“RST→PROG”时,停止运行程序,此时各线圈和寄存器状态保持不变。<br />

RST——复位模式,用来对系统复位。此模式上电,将清除控制器程序区里面的用户程序,而线圈状态、寄存器和系统<br />

设定参数(日历除外)等内容将恢复成默认值。带电切换“PROG→RST”时,用户程序和各变量保持不变(注意:此时请勿<br />

在线修改程序)。<br />

§A-2 状态指示<br />

本体单元有 3 个状态 LED 指示灯,分别是 RUN、COMM 和 ERR:<br />

RUN——用来表示 PLC 的正常运行状态,当 PLC 运行时,绿色 LED 灯以 5 Hz 的频率闪动;当 PLC 停止运行时,绿色<br />

LED 灯以 0.5 Hz 的频率闪动。<br />

COMM——用来指示通讯状态,绿色 LED 灯闪动表示 PLC 正在发送和接收数据。<br />

ERR——用来指示 CPU 模块是否可正常运作,如 CPU 遇到一些诸如电力不足或硬件上的错误而导致 CPU 无法正常运行<br />

时,红色 LED 灯会常亮。<br />

<strong>VLadder</strong> 编程软件使用手册 138


附录 D 存储区分布情况表<br />

类型 用户地址 子区域 子区域地址 说明<br />

输出线圈 00001~09984<br />

输出接点缓冲区 00001~02048<br />

内部辅助继电器 02049~09920<br />

特殊继电器 09921~09984<br />

<strong>VLadder</strong> 编程软件使用手册 139<br />

不使用时,可以当内部辅助继电器用;<br />

可通过断电保持线圈设置表,设置为断电保持线圈。<br />

作内部变量使用。<br />

也可设置为断电保持线圈。<br />

作控制位和指示位使用,只有处于复位模式时上电,<br />

其内容才能被清除。<br />

输入接点 10001~12048 无 无 根据程序运行情况,其内容不断刷新<br />

输入寄存器 30001~30512 无 无 根据程序运行情况,其内容不断刷新<br />

保持寄存器 40001~49999<br />

用户 RAM 区 用户不可见<br />

用户 ROM 区<br />

(Flash ROM 备<br />

份区)<br />

用户不可见<br />

输出通道缓冲区 40001~40064 不使用时,可作内部辅助寄存器用<br />

内部辅助寄存器 40065~48079<br />

用户参数区 48080~49999<br />

用户程序区 —————<br />

系统参数区 —————<br />

用户参数备份区 —————<br />

用户程序备份区 —————<br />

系统参数备份区 —————<br />

可作内部变量使用,上电时根据功能开关的位置和特<br />

殊继电器的设置情况,来决定是否保留原值或清 0<br />

存放需要保存的用户设置参数,需要用“写入 Flash<br />

ROM”命令或通过设置特殊继电器“09932”,将其永久<br />

保存到用户 ROM 区。每次上电时,会自动从用户 ROM<br />

区载入数据(复位模式下除外)<br />

存放用户编写的应用程序。用户修改程序后,可用“写<br />

入 Flash ROM”命令,将其永久保存到用户 ROM 区。<br />

运行模式上电时,从用户程序备份区载入程序;复位<br />

模式上电时,清空用户程序区的程序;编程模式下上<br />

电时,保持失电前的程序不变。<br />

存放系统配置参数,如波特率等。在修改这些参数后,<br />

可用“写入 Flash ROM”命令,将其永久保存到用户<br />

ROM 区。运行模式上电时,从系统参数备份区载入数<br />

据;复位模式上电时,恢复系统参数默认值;编程模<br />

式下上电时,保持失电前的数据不变。<br />

用户参数区在 Flash ROM 中的映像区,可通过“写入<br />

Flash ROM”命令写入用户 ROM 区。。<br />

用户程序区在 Flash ROM 中的映像区,可通过“写入<br />

Flash ROM”命令写入用户 ROM 区。<br />

系统参数区在 Flash ROM 中的映像区,可通过“写入<br />

Flash ROM”命令写入用户 ROM 区。


附录 E 特殊继电器说明<br />

特殊继电器 功能 说明<br />

09922 电池电力指示<br />

09923 IO 状态保持控制<br />

09924 寄存器内容保持控制<br />

09925 指示用<br />

09926 停机控制<br />

09927 保留<br />

09928 保留<br />

09929 JMP,EOJ 指令指示<br />

09930 JSR,SBR,RET 指令指示<br />

09931 FOR,NEXT 指令指示<br />

09932 写 ROM 备份寄存器命令<br />

09933 COM2 工作方式标志<br />

1:良好<br />

0:不足<br />

1:保持<br />

<strong>VLadder</strong> 编程软件使用手册 140<br />

0:第一次解析将所有使能的 IO 状态清除<br />

1:保持<br />

0:第一次解析将所有寄存器内容清除<br />

1:第一次解析为 ON<br />

0:其余<br />

1:I/O 模块异常时马上停机<br />

0:I/O 模块异常时正常工作;系统内置<br />

1:未成对使用或指令不合法<br />

0:正常<br />

1:未成对使用或指令不合法<br />

0:正常<br />

1:未成对使用或指令不合法<br />

0:正常<br />

1:该位从 0 变为 1 时会把当前备份寄存器的内容存入 ROM 中,其<br />

余状态下不动作,执行此动作时会使本次扫描周期加长。<br />

0:无动作<br />

1:工作在 FREE_LINK 模式<br />

0:工作在 PP 模式

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!