【文档说明】十五讲Micro800控制器的编程指令课件.ppt,共(133)页,5.874 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45586.html
以下为本文档部分文字说明:
Micro800控制器的编程指令1.1罗克韦尔PLC控制系统的编程Micro800控制器的编程指令1.21、了解编程器的工作方式2、了解可编程控制器编程方式的特点3、熟练掌握功能块指令、函数指令和操作指令学习目标Micro800控制器的编程指令1.3通常PLC不采用微机的编
程语言,而采用面向控制过程(分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了)、面向实际问题的自然语言编程。这些编程语言有梯形图、逻辑功能图、布尔代数式等。如罗克韦尔自动化公司所有的P
LC(Micro800、MicroLogix、SLC500、PLC-5和ControlLogix)都支持梯形图(LD)的编程方式。Micro800控制器支持三种编程方式:梯形图、结构化文本和功能块编程。其最大的特点就是每种编程方式都支持功能块化的编程。
下面分别介绍这三种方式。Micro800控制器编程语言Micro800控制器的编程指令1.41、定义:梯形图一般由多个不同的梯级(RUNG)组成,每一梯级又由输入及输出指令组成。在一个梯级中,输出指令应出现在梯级的最右边,而输入指令则出现在输出指令的左边
,如图所示。Micro800控制器编程语言一、梯形图Micro800控制器的编程指令1.5Micro800控制器编程语言一、梯形图梯形图的编程特点Micro800控制器的编程指令1.62、PLC控制器的编程方式:梯形图编程输入(条件)指令输出指令()梯级
(RUNG)()梯形图程序的组成:指令:输入/输出指令梯级:由一组输入和一个输出指令组成程序:由多个不同的梯级组成梯形图程序的工作原理:从第一级程序扫描到最后一级(从上到下)扫描特定梯级的输入指令,决定输出指令的动作(从左到右)Micro800控制器编程语言一、梯形图(可没有)Mi
cro800控制器的编程指令1.73、PLC控制器的指令系统——标准指令Micro800控制器编程语言一、梯形图继电器(软继电器)类指令常开常闭输出锁存()()L计时器/计数器指令TON(EN)(DN)TIMEBASEPREACCMicro800控制器的编程指令1.8Micro800控制器编程
语言一、梯形图Micro800控制器的编程指令1.9Micro800控制器的编程指令1.10Micro800控制器的编程指令1.11图5-5选择变量名Micro800控制器的编程指令1.12Micro800控制
器的编程指令1.13Micro800控制器编程语言Micro800控制器的编程指令1.14在Micro800控制器中可以用功能块(FBD,FunctionBlockDiagram)编程语言编写一个控制系统中输入和输出之间的控制关系图示。用户也可以使用现有
的功能块组合,编辑成需要的用户自定义功能块。每个功能块都有固定的输入连接点和输出连接点,输入和输出都有固定的数据类型规定。输入点一般在功能块的左边,输出点在右侧。二、功能块Micro800控制器编程语言1、功能块简介Micro8
00控制器的编程指令1.15在FBD中同样可以使用梯形图(LD)编程语言中的元素,如线圈、连接开关按钮、跳转、标签和返回等。与梯形图编程语言不同的是,在功能块编程中所使用的元素放置位置没有过多限制,不像在梯形图中
对每个元素有严格规定的位置。且在FBD编程语言中同样支持使用功能块操作,如操作指令、函数等大类功能块以及用户自定义的功能块等(只在ConnectedComponentsWorkbench中)。二、功能块M
icro800控制器编程语言1、功能块简介Micro800控制器的编程指令1.16当使用功能块,可以从工具箱拖出功能块元素到编辑框里,并编辑它。输入和输出变量与功能块的输入和输出用连接线连接。信号连接线可以连接
如下块的两类逻辑点:输入变量和功能块的输入点;功能块的输出和另一功能块的输入点;功能块的输出和输出变量。连接的方向表示连接线带着得到的数据从左边传送到右边。连接线的左右两边必须有相同的数据类型。功能块多重的右边连接分支也叫
做分支结构,可以用于从左边扩展信息至右边。注意数据类型的一致性。Micro800控制器的编程指令1.17二、功能块Micro800控制器编程语言2、功能块执行顺序Micro800控制器的编程指令1.18二、功能块Micro800控制器编程语言2、功能块执行
顺序Micro800控制器的编程指令1.19二、功能块Micro800控制器编程语言3、功能块的调试Micro800控制器的编程指令1.20结构文本(ST,StructuredText)类似于BASIC语言,利用它可以很方便地建立、编辑和实现复杂的算法,特别是在数据处理、计算存储、决
策判断、优化算法等涉及描述多种数据类型的变量应用中非常有效。采用类似BASIC高级语言的编程方法,比较容易完成复杂的算法。三、结构文本Micro800控制器编程语言IF(xxx)THENYYYELSEZZZENDIFMicro800控制器的编程指
令1.21三、结构文本Micro800控制器编程语言1、结构化文本(ST)主要语法Micro800控制器的编程指令1.22三、结构文本Micro800控制器编程语言1、结构化文本(ST)主要语法Micro800控制器的编程指令1.23行结束符(可以放在程序中的任何位置)使用不活
动分隔符时,需要遵循以下规则:每行编写的语句不能多于一条;使用Tab来缩进复杂语句;插入注释以提高行或段落的可读性。Micro800控制器编程语言Micro800控制器的编程指令1.24三、结构文本Micro800控制器编程语言2、表达式和括号Micro8
00控制器的编程指令1.25ST编程语言可以调用函数。可以在任何表达式中使用函数调用。函数调用包含的属性见下表。三、结构文本Micro800控制器编程语言3、调用函数和功能块Micro800控制器的编程指令1.26当在函
数主体中设置返回参数的值时,可以为返回参数赋予与该函数相同的名称:FunctionName:=FunctionName(,…);三、结构文本Micro800控制器编程语言3、调用函数和功能块Micro800控制器的编程指令1.27ST编程语言调用功能块。可以在任何表达式中使用
功能块调用。功能块调用属性见表5-2。当在功能块主体中设置返回参数的值时,可以通过将返回参数的名称与功能块名称相连来分配返回参数:三、结构文本Micro800控制器编程语言3、调用函数和功能块FunctionBlockName.OutputParaName:=;Micro800控
制器的编程指令1.28三、结构文本Micro800控制器编程语言3、调用函数和功能块Micro800控制器的编程指令1.29Micro800控制器的内存可以分为两大部分:数据文件(变量)和程序文件(程序)。Micro800控制器的
内存组织Micro800控制器的编程指令1.30Micro800控制器的变量分为全局变量和本地变量,其中I/O变量默认为全局变量。全局变量在项目的任何一个程序或功能块中都可以使用,而本地变量只能在它所在的程序中使用。不同类型的控制器I/O变量的类型和个数不同,I/O变量可以在C
CW软件中的全局变量中查看。I/O变量的名字是固定的。_IO_EM_DI_00Micro800控制器的内存组织一、数据文件Micro800控制器的编程指令1.31除了I/O变量以外,为了编程的需要还要建立一些中间变量,变量的类型用户可以自己选择,常用的变量类型见。Micro800
控制器的内存组织一、数据文件Micro800控制器的编程指令1.32Micro800控制器的内存组织一、数据文件Micro800控制器的编程指令1.33Micro800控制器的内存组织一、数据文件Mi
cro800控制器的编程指令1.34控制器的程序文件分为两部分内容:程序(Program)部分(相当于通常的主程序部分)和功能块(FunctionBlock)部分,这里所说的功能块(FunctionBlock)
,除了系统自身的函数和功能块(FunctionBlock)指令以外,主要是指用户根据功能需要,自己用梯形图语言编写的具有一定功能的功能块(FunctionBlock),可以在程序(Program)或者功能块(Functi
onBlock)中调用,相当于常用的子程序。每个功能块(FunctionBlock)最多有20个输入和20个输出。Micro810控制器最多可以有2000条含一个操作数的梯级。Micro800控制器的内存组织一、程序文件Micro800控制器的编程指令1.35在一个项目中可以有多个程序(Pr
ogram)和多个功能块(FunctionBlock)程序。多个程序(Program)可以在一个控制器中同时运行,但执行顺序由编程人员设定,设定程序(Program)的执行顺序时,在项目组织器中右键单击程序图标,选择属性,打开程序(Program)属性对话框。在Order后面写下要执行顺序,
1为第一个执行,2为第二个执行,例如:一个项目中有8个程序(Program),可以把第8个程序(Program)设定为第一个执行,其他程序(Program)会在原来执行的顺序上,依次后推。原来排在第一个执行的程序(Program)将自动变为第二个执行。Micro800控制器的内存组
织一、程序文件Micro800控制器的编程指令1.36在Order后面写下要执行顺序,1为第一个执行,2为第二个执行。Micro800控制器的编程指令1.37罗克韦尔自动化的可编程序控制器编程指令非常丰富,不同系列可编程序控制器所
支持的指令稍有差异,但基本指令都是大家所共有的。对于编程指令的理解程度,将直接关系到工作的效率。可以这样认为,对编程指令的理解,直接决定了对可编程序控制器的掌握程度。下面将详细介绍它的指令类型。Micro800控制器的指令系统Micro800控制器的编程指令1.38编辑梯形图程序时
,可以从工具箱拖拽需要的指令符号到编辑窗口中使用。可以添加以下梯形图指令元素:一、梯形图指令Micro800控制器的指令系统1、梯级Micro800控制器的编程指令1.39一、梯形图指令Micro800控制器的指令系统2、线圈(Coils)直接输出(
DirectCoil)Micro800控制器的编程指令1.40Micro800控制器的指令系统2、线圈(Coils)直接输出(DirectCoil)Micro800控制器的编程指令1.412、线圈(Coils)Micro800控制器的指令系统反向输出(ReverseCoil)
Micro800控制器的编程指令1.422、线圈(Coils)Micro800控制器的指令系统上升沿(正沿)输出(PulseRisingEdgeCoil)Micro800控制器的编程指令1.432、线圈(Coils)Micro800控制器的指令系统下降沿(负沿)输出(PulseFallingEd
geCoil)Micro800控制器的编程指令1.442、线圈(Coils)Micro800控制器的指令系统置位输出(SetCoil)Micro800控制器的编程指令1.452、线圈(Coils)Mi
cro800控制器的指令系统置位输出(SetCoil)当左连接件的布尔状态变为“真”时,输出变量将被置“真”。该输出变量将一直保持该状态直到复位输出(Resetcoil)发出复位命令,如图所示。Micro800
控制器的编程指令1.462、线圈(Coils)Micro800控制器的指令系统复位输出(ResetCoil)Micro800控制器的编程指令1.47一、梯形图指令Micro800控制器的指令系统3、接触器(Contacts)直接连接(DirectContact
)Micro800控制器的编程指令1.483、接触器(Contacts)Micro800控制器的指令系统反向连接(ReverseContact)Micro800控制器的编程指令1.493、接触器(Contacts)Micro800控制器的指令系统上升沿连接(PulseRisingEdg
eContact)Micro800控制器的编程指令1.503、接触器(Contacts)Micro800控制器的指令系统下降沿连接(PulseFallingEdgeContact)Micro800控制器的编程指令1.51继电控制互锁
Micro800控制器的指令系统PLC实现Micro800控制器的编程指令1.52互锁指令梯级逻辑对于互锁执行的操作动作,采用锁存解锁指令对其控制是最有效和可靠的。此例中有4个互锁的控制,每当满足其中之一的控制条件,便锁存自己的控制,解锁其他控
制,不管其他控制当前的状态如何,这样可以确保只有一个控制在执行。Micro800控制器的编程指令1.53梯级一、二Micro800控制器的编程指令1.54梯级三、四Micro800控制器的编程指令1.55块(Block)元
素指的是指令块,也可以是位操作指令块、函数指令块或者是功能块指令块。在梯形图编辑中,可以添加指令块到布尔梯级中(Block拖拽)。加到梯级后可以随时用指令块选择器设置指令块的类型,随后相关参数将会自动陈列
出来。在使用指令块时请牢记以下两点:(1)当一个指令块添加到梯形图中后,EN和ENO参数将会添加到某些指令块的接口列表中。(2)当指令块是单布尔变量输入、单布尔变量输出或是无布尔变量输入、无布尔变量输出时,可以强制EN和ENO参数。可以在梯形图操作中激活允许EN和ENO参数(En
ableEN/ENO)。一、梯形图指令Micro800控制器的指令系统4、指令块(Instructionblocks)Micro800控制器的编程指令1.56项目组织器梯形图界面驱动工具箱指令工具箱Micro800控制器的编程指令1.574、指令块(Instructio
nblocks)Micro800控制器的指令系统EN输入Micro800控制器的编程指令1.584、指令块(Instructionblocks)Micro800控制器的指令系统ENO输出Micro800控制器的编程指令1.5
94、指令块(Instructionblocks)Micro800控制器的指令系统EN和ENO参数Micro800控制器的编程指令1.604、指令块(Instructionblocks)Micro800控制器的指令系统EN和ENO参数
——功能块使能(Enable)参数Micro800控制器的编程指令1.61Micro800控制器的指令系统EN和ENO参数——返回(Returns)参数Micro800控制器的编程指令1.62一、梯形图指令Micro800控制器的指令系统5、跳转(Jumps)Micro800控制器的编程指令
1.63一、梯形图指令Micro800控制器的指令系统6、分支(Branches)分支元件能产生一个替代梯级。可以使用分支元件在原来梯级基础上添加一个平行的分支。Micro800控制器的编程指令1.6
4二、功能块指令Micro800控制器的指令系统功能块指令是Micro800控制器编程中的重要指令,它包含了实际应用中的大多数编程功能。功能块指令种类及说明见表。Micro800控制器的编程指令1.65二、功能块指令Micro800控制器的指令系统1、报警(Alarms)Micr
o800控制器的编程指令1.66二、功能块指令Micro800控制器的指令系统1、报警(Alarms)Micro800控制器的编程指令1.67二、功能块指令Micro800控制器的指令系统1、报警(Alarms)Micro800控制器的编程指令1.68二
、功能块指令Micro800控制器的指令系统2、布尔操作(BooleanOperations)Micro800控制器的编程指令1.69二、功能块指令Micro800控制器的指令系统2、布尔操作(BooleanOperations)Micro800控制器的编程指令1.70二、功能块指令
Micro800控制器的指令系统2、布尔操作(BooleanOperations)Micro800控制器的编程指令1.71二、功能块指令Micro800控制器的指令系统(2)重置SETRESETQ1ResultQ1000000110100011010011011110011
10重置功能块真值表Micro800控制器的编程指令1.72Micro800控制器的指令系统3、通信(Communications)通信类功能块主要负责与外部设备通信,以及自身的各部件之间的联系。通信类功能块主要指令见下
表。功能块描述ABL(测试缓冲区数据列)统计缓冲区中的字符个数(直到并且包括结束字符)ACB(缓冲区字符数)统计缓冲区中的总字符个数(不包括结束终止字符)ACL(ASCII清除缓存寄存器)清除接收,传输缓冲
区内容AHL(ASCII握手数据列)设置或重置RS232请求发送(RTS)握手信号控制字ARD(ASCII字符读)从输入缓冲区中读取字符并把它们放到某个字符串中ARL(ASCII数据列表)从输入缓冲区中读取一行字符并把它们放到某个字符串中,包括终止字符AWA(
ASCII带附加字符写)写一个带用户配置字符的字符串到外部设备中AWT(ASCII字符写出)从源字符串中写一个字符到外部设备中MSG_MODBUS网络通信协议信息传输,发送Modbus信息Micro800控制器的编程指令1.73Micro800控制器的指
令系统(1)测试缓冲区数据列(ABL,ASCIITestForLine)测试缓冲区数据列功能块指令可以用于统计输入缓冲区里的字符个数(一直到并且包括结束字符),参数列表见下表。参数参数类型数据类型描述INInp
utBOOL上升沿(IN由假变真),执行统计ABLInputInputABLACB(见ABLACB数据类型)将要执行统计的通道QOutputBOOL假:统计指令不执行;真:统计指令已执行CharactersOut
putUINT字符的个数ErrorOutputBOOL假:无错误;真:检测到一个错误ErrorIDOutputUINT见ABL错误代码Micro800控制器的编程指令1.74Micro800控制器的指令系统(1)测试缓冲区数据列(ABL,ASCIITestForLine)ABLACB数据类
型见下表。参数数据类型描述ChannelUINT串行通道号;2代表本地串行通道口5~9代表安装在插槽1~5的嵌入式模块串行通道口:5表示在插槽1;6表示在插槽2;7表示在插槽3;8表示在插槽4;9表示在插槽5TriggerTypeU
SINT(无符号短整型)代表以下情况中的一种:0:Msg触发一次(当IN从假变为真);1:Msg持续触发,即IN一直为真;其他值:保留CancelBOOL当该输入被置为真时,统计功能快指令不执行Micro800控制器的编程指令1.75Micro800控制器的指令系统(1)测试缓冲区数据
列(ABL,ASCIITestForLine)ABL错误代码见下表。错误代码描述0x02由于数据模式离线,操作无法完成0x03由于准备传输信号(Clear-to-Send)丢失,导致传送无法完成0x04由于通信通道被设置为系统
模式,导致ASCII码接收无法完成0x05当尝试完成一个ASCII码传送时,检测到系统模式(DF1)通信0x06检测到不合理参数0x07由于通过通道配置对话框停止了通道配置导致不能完成ASCII码的发送或接收0x08由于一个ASC
II码传送正在执行,导致不能完成ASCII码写入Micro800控制器的编程指令1.76Micro800控制器的指令系统错误代码描述0x09现行通道配置不支持ASCII码通信请求0x0a取消(Cancel)操作被配置,所以停止执行指令,没有要求动作0x0b要
求的字符串长度无效或者是一个负数,或者大于82或0。功能块ARD和ARL中也一样0x0c源字符串的长度无效或者是一个负数或者大于82或0。对于AWA和AWT一样0x0d在控制块中的要求的数是一个负数或是一个大于存储于源字符串中字符串长
度的数。对于AWA和AWT指令一样0x0eACL功能块被停止0x0f通道配置改变说明:“0x”前缀表示十六进制数。Micro800控制器的编程指令1.77Micro800控制器的指令系统(2)ASCII清除缓存寄存器(ACL,ASCIIClearBuffe
rs)ASCII清除缓存寄存器功能块指令用于清除缓冲区里的接收和传输的数据,也可用于移除ASCII队列里的指令,参数列表见下表。参数参数类型数据类型描述INInputBOOL上升沿(IN由假变真),执行该功能块ACLInputInputACL(见
ACL数据类型)传送和接收缓冲区的状态QOutputBOOL假:该功能块不执行;真:该功能块已执行ErrorOutputBOOL假:无错误;真:检测到一个错误ErrorIDOutputUINT见ABL错误代码Micro800控制器的编程指令1.78Micro800控制器的指令系统ACL
数据类型见下表。参数数据类型描述ChannelUINT串行通道号;2代表本地串行通道口5~9代表安装在插槽1~5的嵌入式模块串行通道口:5表示在插槽1;6表示在插槽2;7表示在插槽3;8表示在插槽4;9表示在
插槽5RXBufferBOOL当置为真时,清除接收缓冲区里的内容,并把接收ACSII功能块指令(ARL和ARD)从ASCII队列中移除TXBufferBOOL当置为真时,清除传送缓冲区里的内容,并把传送ASCII功能块指令(A
WA和AWT)从ASCII队列中移除(2)ASCII清楚缓存寄存器(ACL,ASCIIClearBuffers)Micro800控制器的编程指令1.79Micro800控制器的指令系统(3)ASCII握手数据列(AHL,ASCIIHandshakeLines)ASCI
I握手数据列功能块指令用于设置或重置RS-232请求发送(RequesttoSendRTS)握手控制信号控制行,参数列表见下表。参数参数类型数据类型描述INInputBOOL上升沿(IN由假变真),执行该功能块AHLInputInputAHL(见AHLI数据
类型)设置或重置当前模式的RTS控制字QOutputBOOL假:该功能块不执行;真:该功能块已执行ChannelStsOutputWord(见AHLChannnelSts数据类型)显示当前通道规定的握手行状
态(0000~001F)ErrorOutputBOOL假:无错误;真:检测到一个错误ErrorIDOutputUINT见ABL错误代码Micro800控制器的编程指令1.80Micro800控制器的指令系统AHLI数据类型见
下表。参数数据类型描述ChannelUINT串行通道号;2代表本地串行通道口5~9代表安装在插槽1~5的嵌入式模块串行通道口:5表示在插槽1;6表示在插槽2;7表示在插槽3;8表示在插槽4;9表示在插槽5ClrRtsBOOL用于重置RTS控制字SetRtsBOOL用于
设置RTS控制字CancelBOOL当输入为真时,该功能块不执行(3)ASCII握手数据列(AHL,ASCIIHandshakeLines)Micro800控制器的编程指令1.81Micro800控制器的指令系统AHLChannnelSts数据类型见下表。参数数据类型描述DTRstat
usUINT用于DTR信号(保留)DCDstatusUINT用于DCD信号(控制字的第3位),1表示激活DSRstatusUINT用于DSR信号(保留)RTSstatusUINT用于RTS信号(控制字的第1位),1表示
激活CTSstatusUINT用于CTS信号(控制字的第0位),1表示激活(3)ASCII握手数据列(AHL,ASCIIHandshakeLines)Micro800控制器的编程指令1.82Micro800控制器的指令系统(4)ASCII字符读(ARS,ASCIIRe
ad)ASCII字符读功能块指令用于从缓冲区中读取字符,并把字符存入一个字符串中,参数列表见下表。参数参数类型数据类型描述INInputBOOL上升沿(IN由假变真),执行该功能块ARDInputInputARDARL(见ARDARL数据类型)从缓冲区
中读取字符,最多82个DoneOutputBOOL假:该功能块不执行;真:该功能块已执行DestinationOutputASCIILoc存储字符的字符串位置NumcharOutputUINT字符个数ErrorOutputBOOL假:无错误;真:检测到一个错误ErrorIDOutputUINT
见ABL错误代码Micro800控制器的编程指令1.83Micro800控制器的指令系统ARDARL数据类型见下表。参数数据类型描述ChannelUINT串行通道号;2代表本地串行通道口5~9代表安装在插槽1~5的嵌入式模块串行通道口:5表示在插槽1;6表示在插槽2;7表示在插槽3;8表
示在插槽4;9表示在插槽5LengthUINT希望从缓冲区里读取的字符个数(最多82个)CancelBOOL当输入为真时,该功能块不执行,如果正在执行,在操作停止(4)ASCII字符读(ARS,ASCIIRead)Micro800控制器的编程指令1.84Micro800控制器的指令系统(5)ASC
II带附加字符写(AWA,ASCIIWriteAppend)该功能块指令用于从源字符串向外部设备写入字符,且附加编程人员在设置对话框里设置的两个字符,参数列表见下表。参数参数类型数据类型描述INInputBOOL上升沿(IN
由假变真),执行该功能块AWAInputInputAWAAWT(见AWAAWT数据类型)将要操作的通道和长度SourceInputASCIILoc源字符串,字符阵列QOutputBOOL假:该功能块不执行;真:该功能块已执行NumcharOutputUINT字符个数ErrorOutputBOOL假
:无错误;真:检测到一个错误ErrorIDOutputUINT见ABL错误代码Micro800控制器的编程指令1.85Micro800控制器的指令系统AWAAWT数据类型见下表。参数数据类型描述ChannelU
INT串行通道号;2代表本地串行通道口5~9代表安装在插槽1~5的嵌入式模块串行通道口:5表示在插槽1;6表示在插槽2;7表示在插槽3;8表示在插槽4;9表示在插槽5LengthUINT希望写入缓冲区里的字符个数(最多82个)。提示:如果设置为0,AWA将会传送0个用
户数据字节和两个附加字符到缓冲区CancelBOOL当输入为真时,该功能块不执行,如果正在执行,在操作停止(5)ASCII带附加字符写(AWA,ASCIIWriteAppend)Micro800控制器的编程指令1.86Micro800控制器的指令
系统(6)网络通信协议信息传输(MSG_MODBUS)该功能块指令用于传送网络通信协议(Modbus)信息,例如读写目标设备的寄存器中的信息。Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一
个真正用于工业现场的总线协议。参数参数类型数据类型描述INInputBOOL上升沿(IN由假变真),执行该功能块CancelInputBOOL真:取消执行功能块LocalCfgInputMODBUSLOCPARA(
见MODBUSLOCPARA数据类型)确定结构化输入信息(本地设备)TargetCfgInput确定结构化输入信息(目标设备)Micro800控制器的编程指令1.87Micro800控制器的指令系统(6)网络通信协议信息传输(MSG_MODBUS)参数参数类型数据类型描述L
ocalAddrInputMODBUSLOCADDR确定本地存入或写出信息的地址(125字)MODBUSLOCADDR数据类型是一个大小为125个字的数组,由读取命令用来存储Modbus从站返回的数据(1~125个字),并由写入命令用来缓冲要发送到Modbus从站的数据(1~125
个字)QOutputBOOL假:指令未完成;真:MSG指令完成ErrorOutputBOOL假:无错误;真:出现错误ErrorIDOutputUINT当信息传送错误时,显示错误代码,见MSGMODBUS错误代码Micro800控制器的编程指令1.88Micro800控制器的
指令系统MODBUSLOCPARA数据类型见下表。参数数据类型描述ChannelUINTMicro800PLC串行端口号;2代表本地串行端口,5~9代表安装在插槽1~5的嵌入式模块串行通道口:5表示在插槽1;
6表示在插槽2;7表示在插槽3;8表示在插槽4;9表示在插槽5TriggerTypeUSINT0:Msg触发一次(IN从假变为真)1:MSG持续触发,当IN为真;其他情况,保留CmdUSINTMSG指令的操作命令:01:读取线圈状态;02:读取输入状态;03:读取保持寄存器;0
4:读取输入寄存器;05:写单一线圈;06:写单一寄存器;15:写多个线圈;16:写多个寄存器ElementCntUINT读写数据个数的限制:对于读取线圈或开关量输入最多2000bits;对于读寄存器最多125words;对于写线圈最多1968bits;
对于写寄存器最多123words。Micro800控制器的编程指令1.89Micro800控制器的指令系统MODBUSTARPARA数据类型见下表。参数数据类型描述AddrUDINT目标数据(1~65536);传送后减1NodeUSINT默认从机节点号为1。节点范围
0~247,0是Modbus广播节点号,且当Modbus处于写命令时有效(如5,6,15,16)注:由于目标数据地址传送后会自动减1,所以给MSG指令读写地址时,需要在要读写的实际地址基础上加1后给到A
ddr上,这样才能使MSG指令读写到正确的地址。Micro800控制器的编程指令1.90Micro800控制器的指令系统MSG_MODBUS错误代码见下表。错误代码描述错误代码描述3TriggerType的类型已经非法改为2~255130非法数据地址2
0本地通信设备与MSG指令不兼容131非法数据值21本地通道配置参数存在错误132从机连接失败22目标或本地节点号大于最大允许的节点号133响应33存在一个损坏的MSG文件参数134从机忙54丢失调制解调设备信息135否定响
应55本地处理器中信息传输超时,链接层超时136存储器奇偶校验错误217用户取消信息137非标准回应129非法函数255通道被关闭Micro800控制器的编程指令1.91Micro800控制器的指令系统4、计数器(Counter)计数器功能块指令主要用于增减计
数,主要指令见下表。功能块描述CTD(减计数)减计数CTU(增计数)增计数CTUD(给定加减计数)增减计数Micro800控制器的编程指令1.92Micro800控制器的指令系统4、计数器(Counter)给定加减计数(CTUD)参数参数类型数据类型描述CUInputBOOL
加计数(当CU上升沿时,开始计数)CDInputBOOL减计数(当CD上升沿时,开始计数)RESETInputBOOL重置命令(高级)(RESET为真时,CV=0)LOADInputBOOL加载命令(高级)(当LOAD为真时,CV=PV)PVIn
putDINT程序最大值QUOutputBOOL上限,当CVPV时为真QDOutputBOOL下限,当CV0时为真CVOytputDINT计数结果Micro800控制器的编程指令1.93Micro800控制器的指令系统4、计数器(Counter)给定加减计数(CTUD)这个程序要实现的功能是
加减计数,梯级一是一个字出发计时器,TON_1.Q每3秒输出一个动作脉冲,并复位计数器,重新计时。梯级二使能加减计数器模块。梯级三通过decrease位使能减计数,这时当TON_1.Q位输出一个脉冲时,PV值减1。同理,梯级四用来使能加
计数。梯级五用来复位加减计数。这样便实现了加减计数功能。Micro800控制器的编程指令1.94Micro800控制器的指令系统5、计时器(Counter)计时器功能块指令主要有以下4种,见下表。功能块描述TOF(延时断增计时)延
时断计时TON(延时通增计时)延时通计时TONOFF(延时通延时断)在为真的梯级延时通在为假的梯级延时断TP(上升沿计时)脉冲计时Micro800控制器的编程指令1.95Micro800控制器的指令系统(1)延时断增计时
(TOF)增大内部计时器至给定值。功能块参数类型数据类型描述INInputBOOL下降沿,开始增大内部计时器;上升沿,停止且复位内部计时器PTInputTIME最大编程时间,见Time数据类型QOutputBOOL真:编程的时间没有消耗
完ETOutputTIME已消耗的时间,范围0~1193h2m47s294ms。注:如果在功能块使用EN参数,当EN置真时,计时器开始增计时,且一直持续下去(即使EN变为假)Micro800控制器的编程指令1.9
6Micro800控制器的指令系统(1)延时断增计时(TOF)INQPTETO功能块参数类型数据类型描述INInputBOOL下降沿,开始增大内部计时器;上升沿,停止且复位内部计时器PTInputTIME最大编程时间,见Time数据类型QOutputBOOL真:编程的时间没有消耗完ETOutpu
tTIME已消耗的时间,范围0~1193h2m47s294ms。注:如果在功能块使用EN参数,当EN置真时,计时器开始增计时,且一直持续下去(即使EN变为假)延时断增计时功能块时序图Micro800控制器的编程指令1.97Micro
800控制器的指令系统(1)延时断增计时(TOF)INQPTETO延时断增功能块本质是输入断开(即下降沿)一段时间(达到计时值)后,功能块输出(Q)才从原来的通状态(1状态)变为断状态(0状态),即延时断。从图中看,梯级条件IN的下降沿才能触发计时器工作,且当计
时未达到预置值PT时,如果IN又有下降沿,计时器将从新开始计时。参数ET表示的是已消耗的时间,即从计时开始到目前为止计时器统计的时间,明显的,ET的取值范围是(0,PT)。延时断增计时功能块时序图Micro800控制器的编程指令
1.98Micro800控制器的指令系统(1)延时断增计时(TOF)INQPTETO输出Q的状态由两个条件控制,从时序图可以看到:当IN为上升沿时,Q开始从0变为1,前提是原来状态为0,如果原来的状态是1,即上次计时没有完成,则如果又遇到IN的上
升沿,Q保持原来1的状态;当计时器完成计时后,Q才回复到0状态。所以Q由IN的状态和计时器完成情况共同控制。延时断增计时功能块时序图Micro800控制器的编程指令1.99Micro800控制器的指令系统(1)延时断增计时(TOF)当delay_contro
l_in置1时,delay_control_out置位,此时TOF_1.Q位保持为1。当delay_control_in由1变为0时,断电延时计时器开始计时,计时3s后,TOF_1.Q位由1变为0,梯级二导通,delay_control_out复位。由此实现断电延时功能。M
icro800控制器的编程指令1.100Micro800控制器的指令系统(2)延时通增计时(TON)功能块参数类型数据类型描述INInputBOOL上升沿,开始增大内部计时器;下降沿,停止且复位内部计时器PTInputTIME最大编程时间,见T
ime数据类型QOutputBOOL真:编程的时间没有消耗完ETOutputTIME已消耗的时间,范围0~1193h2m47s294ms。注:如果在功能块使用EN参数,当EN置真时,计时器开始增计时,且一直持续下去(即使EN变为假)增大内
部计时器至给定值。Micro800控制器的编程指令1.101Micro800控制器的指令系统(2)延时通增计时(TON)INQPTETO功能块参数类型数据类型描述INInputBOOL上升沿,开始增大内部计时器;下降沿,停止且复位内部计时器PTIn
putTIME最大编程时间,见Time数据类型QOutputBOOL真:编程的时间没有消耗完ETOutputTIME已消耗的时间,范围0~1193h2m47s294ms。注:如果在功能块使用EN参数,当EN置真时,计时器开始增计时,且一直持续下去(即使EN变为假)延时通增计时
功能块时序图Micro800控制器的编程指令1.102Micro800控制器的指令系统(2)延时通增计时(TON)INQPTETO延时通增功能块本质是输入IN导通后,输出Q延时导通。从图中看,梯级条件IN的上升沿触发计时器工作,IN的下降沿能直接停止计时器计时。参数ET表示
的是已消耗的时间,即从计时开始到目前为止计时器统计的时间,明显的,ET的取值范围是(0,PT)。延时通增计时功能块时序图Micro800控制器的编程指令1.103Micro800控制器的指令系统(2)延时通增计时(TON)INQPTETO输出Q的状态也是由两个条件控制,从时序图看:当I
N为上升沿时,计时器开始计时,达到计时时间后Q开始从0变为1,;直到IN变为下降沿时,Q才跟着变为0;当计时器未完成计时时,即IN的导通时间小于预置时间,Q仍然保持原来的0状态。延时通增计时功能块时序图Micro800控制器的编程指令1.10
4Micro800控制器的指令系统(2)延时通增计时(TON)这个程序在现场常用语检测故障信号,当探测故障发生的信号进来,如果马上动作,可能会引起停机,因为有的故障是需要停机的,假定这个故障信号并不是真的故障,可能是一个干扰信号,停机就变得不是很合适。一般,会将这个信号延迟一段时
间,用以确定故障真的存在,再去故障停机。本程序便是使用了延时通增计时(TON)来实现这一功能。Micro800控制器的编程指令1.105Micro800控制器的指令系统(2)延时通增计时(TON)将定时器PT定义为3s,那么TON的梯级条件fault能
保持3秒,则故障输出动作的产生将延时3s执行。如果这是一个扰动信号,不到3s便消失,计时器TON的梯级条件随之消失,计时器复位,完成位不会置位,故障输出动作不会发生。故障动作延时时间根据现场实际情况来确定。Micro800控制器的编程指令1.106Micro800
控制器的指令系统(3)延时通延时断(TONOFF)该功能块用于在输出为真的梯级中延时通,在为假的梯级中延时断开。功能块参数类型数据类型描述INInputBOOL如果IN上升沿,延时通计时器开始。如果程序设定的延时通时间消耗完
毕,且IN是下降沿(从1变0),延时断计时器开始计时,且重置已用时间(ET)。如果程序延时通时间没有消耗完毕,且处于上升沿,继续开启延时通计时器。PTInputTIME延时通时间设置PTOFOutputT
IME延时断时间设置Micro800控制器的编程指令1.107Micro800控制器的指令系统功能块参数类型数据类型描述QOutputBOOL真:程序延时通时间消耗完毕,程序延时断时间没有消耗完毕ETOutputBOOL当前消耗时间。允许值:0~1193h2m47s29
4ms。如果程序延时通时间消耗完毕且延时断计时器没有开启,消耗时间(ETelapsedtime)保持在延时通的时间值(PT)。如果延时断的时间消耗完毕,且延时通计时器没有开启,则消耗时间保持与延时断的时间值(PTOF)一致,直到上升沿再次出现为止。如果设定的关断延时时间已过,且关断延时
计时器未启动,则上升沿再次发生之前,消耗时间(ET)仍为关断延时(PTOF)值。[注]如果在该功能块使用EN参数,当EN为真时,计时器开始增计时,且持续下去(即使EN被置为假)INQPTETOMicro800控制器的编程指令1.108Micro800控制器的指令系
统(3)延时通延时断(TONOFF)这个例子是某个输出开关的控制要求,当控制发生打开命令后,延时3s打开;控制发出关闭命令后,延时2s关闭。如果发出打开的命令不到3s接收关闭命令,则不打开;如果发出关闭命令后不到2s接收打开命令,则不关闭。延时控制开关in作为TONOFF_1的梯级条件,开或关的任
意情况会触发通电计时或断电计时,从而控制out位输出。Micro800控制器的编程指令1.109Micro800控制器的指令系统(3)延时通延时断(TONOFF)INQPTETOINQPTETO延时断增计时延时通增计时如果发出打开的命令不到
3s接收关闭命令,则不打开如果发出关闭命令后不到2s接收打开命令,则不关闭Micro800控制器的编程指令1.110Micro800控制器的指令系统(4)上升沿计时(TP)该功能块在上升沿,内部计时器增计时至给定值,若计
时时间达到,则重置内部计时器。功能块参数类型数据类型描述INInputBOOLIN上升沿,内部计时器开始计时(如果没有开启增计时);如果IN为假且计时时间到,重置内部计时器,在计时期间任何改变将无效PTInputTIME最大编程时间QOutputBOOL真:计时器正在计时ETOut
putTIME已消耗的时间,范围0~1193h2m47s294ms。注:如果在功能块使用EN参数,当EN置真时,计时器开始增计时,且一直持续下去(即使EN变为假)Micro800控制器的编程指令1.111Micro800控制器的指令系统(4)上升沿计时(TP)功能块参数类
型数据类型描述INInputBOOLIN上升沿,内部计时器开始计时(如果没有开启增计时);如果IN为假且计时时间到,重置内部计时器,在计时期间任何改变将无效PTInputTIME最大编程时间QOutputBO
OL真:计时器正在计时ETOutputTIME已消耗的时间,范围0~1193h2m47s294ms。注:如果在功能块使用EN参数,当EN置真时,计时器开始增计时,且一直持续下去(即使EN变为假)INQPTETOMicro800控制器的编程指令1.112Micro800控制器的
指令系统(4)上升沿计时(TP)INQPTETO从图中看,上升沿计时功能块与其他功能块明显的不同是消耗时间(ET)总是与预置值PT相等。输入IN的上升沿触发计时器开始计时,当计时器开始工作后,就不受IN干扰,直至计时完成。计时器完成计时后,才接受IN的控制,
即计时器的输出值保持住当前的计时制,直至IN变为0状态时,计时器才回到0状态。上升沿计时功能块时序图Micro800控制器的编程指令1.113Micro800控制器的指令系统(4)上升沿计时(TP)INQPTETO此外,输出Q也与之前的计时器不同,计时器开始计时时,Q由0变为1,计时结
束后,再由1变为0。所以Q仅由ET控制,可以表示计时器是否在计时状态。上升沿计时功能块时序图Micro800控制器的编程指令1.114Micro800控制器的指令系统6、数据操作(DataManipulation)数据操作类功能块主要有最大值、最小值、
平均值,见下表。功能块描述AVERAGE(平均)取存储数据的平均MAX(最大值)比较产生两个输入整数中的最大值MIN(最小值)计算两个整数输入中最小的数Micro800控制器的编程指令1.115Micro800控制器的指令系统6、数据操作(DataManipulation)功能
块参数类型数据类型描述RUNInputBOOL真:执行;假:重置XINInputREAL任何实数NInputDINT用于定义样本个数XOUTOutputREAL输出XIN的平均值平均功能块用于计算每一循环周期所有已存储值的平均值,并存储该平均值。只有N的最后
输入值被存储。N的样本数个数能超过128个。如果RUN命令为假(重置模式),输出值等于输入值。当达到最大存储个数时,第一个存储的数将被最后一个替代。Micro800控制器的编程指令1.116Micro800控制器的指令系统7、输入/输出(Input/Output)输入/输出类功能块指
令主要用于管理控制器与外设之间的输入和输出数据,其指令用途见下表。功能块描述HSC(高速计数器)设置要应用到高速计数器上的高和低预设值以及输出源HSC_SET_STS(HSC状态设置)手动设置/重置高速计数器状态IIM(立即输入)在正常输出扫描之前更新输入IOM(立即输出)
在正常输出扫描之前更新输出KEY_READ(键状态读取)读取可选LCD模块中的键的状态(只限Micro810TM)Micro800控制器的编程指令1.117Micro800控制器的指令系统7、输入/输出(Input/Output)功能块描述MM_INFO(存储模块信息)读取存储模块的标题信
息PLUGIN_INFO(嵌入型模块信息)获取嵌入式模块信息(存储模块除外)PLUGIN_READ(嵌入型模块数据读取)从嵌入式模块读取信息PLUGIN_RESET(嵌入型模块重置)重置一个嵌入型模块(硬件重置)PLUGIN_WRI
TE(写嵌入型模块)向嵌入型模块中写入数据RTC_READ(读RTC)读取实时时钟(RTC)模块的信息RTC_SET(写RTC)向实时时钟模块设置实时时钟数据SYS_INFO(系统信息)读取Micro800TM系统状态TRIMPO
T_READ(微调电位器)从特定的微调电位模块中读取微调电位值LCD(显示)显示字符串和数据(只限Micro810TM)RHC(读高速时钟的值)读取高速时钟的值RPC(读校验和)读取用户程序校验和Micro800控制器的编程指令1.118Micro800控制器的指令系统7
、输入/输出(Input/Output)该功能块用于启/停高速计数,刷新高速计数器的状态,重载高速计数器的设置,以及重置高速计数器累价值[注]在CCW中高速计数器被分为两个部分,高速计数部分和用户接口部分。
这两部分是结合使用的。这里主要介绍高速计数器部分。用户接口部分由一个中断机制驱动(例如中断允许UIE、激活UIF、屏蔽UID或是自动允许中断AutoStart),用于在高速计数器到达设定条件时驱动执行指定的用户中
断程序。(1)高速计数器(HSC)Micro800控制器的编程指令1.119Micro800控制器的指令系统(1)高速计数器(HSC)功能块参数类型数据类型描述HscCmdInputUSINT功能块执行、刷新等控制命令,见HSC命令参数Hs
cAPPDataInputHSCAPPHSC应用配置。通常只需配置一次。见HSC应用数据结构HSCStsInfoInputHSCSTSHSC动态状态。通常在HSC执行周期里该状态信息会持续更新,见HSC状态信息数据结构PlsDa
taInputPLS可编程限位开关数据(ProgrammableLimitSwitch,PLS),用于设置HSC的附加高低及溢出设定值。见PLS数据类型。Micro800控制器的编程指令1.120Micro800控制器的指令系统(1)高速计数器(HSC)HSC命令参数见
下表。HSC命令命令描述0x00保留,未使用0x01执行HSC:运行HSC(如果HSC处于空闲模式其梯级使能);只更新HSC状态信息(如果HSC处于运行模式其梯级使能)0x02停止HSC(如果HSC处于运行模式,且梯级使能)0x03上
载或设置HSC应用数据配置信息(如果梯级使能)0x04重置HSC累加值(如果梯级使能)[注]“0x”前缀表示十六进制数Micro800控制器的编程指令1.121Micro800控制器的指令系统(1)高速计数器(HSC)HSCAPP数据类型(HSCAppData)见下表。参数
数据类型描述PLSEnableBOOL使能或停止可编程限位开关(PLS)HscIDUINT要驱动的HSC编号,见HSCID定义HSCModeUINT要使用的HSC计数模式,见HSC模式AccumulatorDINT设置计数器的计数初始值HPSettingDINT高预设值LPSettingDIN
T低预设值OFSettingDINT溢出设置值Micro800控制器的编程指令1.122Micro800控制器的指令系统(1)高速计数器(HSC)HSCAPP数据类型(HSCAppData)见下表。参数数据类型描述UFSettingDI
NT下溢设置值OutputMaskUDINT设置输出掩码HPOutputUDINT高预设值的32位输出值LPOutputUDINT低预设值的32位输出值说明:OutputMask指令的作用是屏蔽HSC输出的数据中的某几位,以获取期望的数据输出位。例如,对于24点的
Micro830,有9点本地(控制器自带)输出点用于输出数据,当不需输出第0位的数据时,可以把OutputMask中的第零位置0即可。这样即使输出数据上的第零位为1,也不会输出。Micro800控制器的编程指令1.123Micro800控制器的指令系统(1)高速计数器(HSC)Hsc
ID、HSCMode、HPSetting、LPSetting、OFSetting、UFSetting6个参数必须设置,否则将提示HSC配置信息错误。上溢值最大为+2,147,483,647。下溢值最小为-2,147,483,647。预设值大小须对应
,即高预设值不能比上溢值大,低预设值不能比下溢值小。当HSC计数值达到上溢值时,会将计数值置为下溢值继续计数;达到下溢值时类似。HSC应用数据是HSC组态数据,它需要在启动HSC前组态完毕。在HSC计数期间,该数据不能改变,除非需要重载HSC
组态信息(在HscCmd中写03命令)。但是在HSC计数期间的HSC应用数据改变请求被忽略。Micro800控制器的编程指令1.124Micro800控制器的指令系统HSCID定义见下表。位描述15~13HSC的模式类型:0x00-本地;0x01-扩展式(暂无);
0x02-嵌入式。12~8模块的插槽ID:0x00-本地;0x01~0x1F-扩展式(暂无)模块的ID;0x01~0x05-嵌入式模块的ID。7~0模块内部的HSCID:0x00~0x0F-本地;0x00~0x07-扩展式(暂无);0x00~0x07-嵌入式。[注]对
于初始版本ConnectedCoponentsWorkbench只支持0x00~0x05范围的ID使用说明:将表中各位上符合实际要使用的HSC的信息数据组合为一个无符号整数,写到HSCAppData的HscID位置上即可。例如,选择控制器自带的第一个HSC
接口,即15~13位为0,表示本地I/O;12~8位为0,表示本地的通道,非扩展或嵌入模块;7~0位为0,表示选择第0个HSC,这样最终就在定义的HSCAPP类型的输入上的HscID位置上写入0即可。Mi
cro800控制器的编程指令1.125Micro800控制器的指令系统HSC模式(HSCMode)见下表。模式描述模式描述0递增计数5有“重置”和“保持”控制信号的两输入计数1有外部“重置”和“保持”控制信号的递增计数6正交计数(编码形式,有A、B两相脉冲)2双向计数,并带有“外部方向”控制信号
7有“重置”和“保持”控制信号的正交计数3有“重置”和“保持”,且带“外部方向”控制信号的双向计数8QuadX4计数器4两输入计数(一个加法计数输入信号,一个减法计数输入信号)9有“重置”和“保持”控制信号的QuadX4计数器[注
]HSC3~5只支持0、2、4、6和8模式;HSC0~2支持所有模式。Micro800控制器的编程指令1.126Micro800控制器的指令系统HSCSTS数据类型见下表,它可以显示HSC的各种状态,基本上都是只读数据。其中的一些标志可以用于逻辑编程。参数数据类型描述CountEna
bleBOOL使能或停止HSC计数ErrorDetectedBOOL非零表示检测到错误CountUpFlagBOOL递增计数标志CountDwnFlagBOOL递减计数标志Mode1DoneBOOLHSC是1(1A)模式或
2(1B)模式,且累加值递增计数至HP的值OVFBOOL检测到上溢UNFBOOL检测到下溢:递增计数;:递减计数Micro800控制器的编程指令1.127Micro800控制器的指令系统参数数据类型描述HPReachedBOO
L达到高预设值LPReachBOOL达到低预设值OFCauseInterBOOL上溢导致HSC中断UFCauseInterBOOL下溢导致HSC中断HPCauseInterBOOL达到高预设值,导致HSC中断LPCauseInterBOOL达到低预设值,导致HSC中断PlsP
ositionUINT可编程限位开关(PLS)的位置ErrorCodeUINT错误代码,见HSC错误代码AccumulatorDINT读取累加器实际值HPDINT最新的高预设值设定,可能由PLS功能更新LP
DINT最新的低预设值设定,可能由PLS功能更新HPOutputUDINT最新高预设输出值设定,可能由PLS功能更新LPOutputUDINT最新低预设输出值设定,可能由PLS功能更新[说明]在HSC执行的周期里,在“0x01”HscCmd命令下,HSC的状态将会持续更新Micro80
0控制器的编程指令1.128Micro800控制器的指令系统在HSC执行的周期里,如果发生错误,错误检测标志将会打开,不同的错误情况见下表错误代码位HSC计数时错误代码错误描述15~8(高字节)0~255高字节非0表示H
SC错误由PLS数据设置导致;高字节的数值表示触发错误PLS数据中数组编号。7~0(低字节)0x00无错误0x01无效HSC计数模式0x02无效高预设值0x03无效上溢0x04无效下溢0x05无PLS数据
Micro800控制器的编程指令1.129Micro800控制器的指令系统(1)高速计数器(HSC)可编程限位开关(PLS)数据是一组数组,每组数组包括高低预设值以及上下溢出值。PLS功能是HSC操作模式的附加设置。当允许该模式操作时(PLSEnable选通),每次达到一个预设值时
,预设和输出数据讲通过用户提供的数据更新(即PLS数据中下一组数组的设定值)。所以当需要对同一个HSC使用不同的设定值时,可以通过提供一个包含将要使用的数据的PLS数据结构达到目的。PLS数据结构是一个大小可变的数组。[注]一个PLS数据体的数组个数不
能大于255。当PLS没有使能时,PLS数据结构可以不用定义。Micro800控制器的编程指令1.130Micro800控制器的指令系统下表说明PLS每组数组的基本元素作用。命令元素数据类型元素描述字0~1DI
NT高预设值设置字2~3DINT低预设值设置字4~5UDINT高位输出预设值字6~7UDINT低位输出预设值HSC状态值(Sts上对应的输出)。见右表HSC状态值状态描述0x00无动作(没有使能)0x01HSC功能块执行成功0x02HSC命令无效0x03HSCID
超过有效范围0x04HSC配置错误Micro800控制器的编程指令1.131Micro800控制器的指令系统7、输入/输出(Input/Output)该功能块用于改变HSC计数状态。[注]当HSC功能块不计数时(停止才能调用该设置功能块,否则输入参数将会持续更新且任何HSC_SET_S
TS功能块作出的设置都会被忽略)。(2)高速计数器状态设置(HSC_SET_STS)Micro800控制器的编程指令1.132Micro800控制器的指令系统高速计数器状态设置参数见下表。(2)高速计数器状态设置(HSC_SET_STS)参数参数类型数据类型描述HscID
InputUINT见HSC应用数据结构欲设置的HSC状态ModelDoneInputBOOL计数模式1A或1B已完成HPReachedInputBOOL达到高预设值,当HSC不计数时,该位可重置为假;LPReachedInputBOOL达到低预设值,当HSC不
计数时,该位可重置为假。OFoccurredInputBOOL发生上溢,当需要时,该位可置为假。UFoccurredInputBOOL发生下溢,当需要时,该位可置为假。StsOutputUINT见HSC状态值ENOOutputBOOL使能输出Micro800控制器的编程指令1.133选择=结果汇报
结束谢谢观看!欢迎提出您的宝贵意见!