一种plc的指令编码及识别系统的制作方法

文档序号:6535251阅读:265来源:国知局
一种plc的指令编码及识别系统的制作方法
【专利摘要】本发明公开了一种PLC的指令编码方法及其识别方法,所述编码方法的指令分为纯单步指令、单步指令以及多步指令三大类;指令的处理单位为4位16进制码,第1位用于表示指令类型,纯单步指令的后3位用于表示纯单步指令编码号,单步指令的后3位用于表示指令操作对应的软元件编号,多步指令的后3位用于表示需要跳转到的函数指针数组的元素标号;所述识别方法包括对一步长指令的类型识别及操作,其中操作包括函数的跳转、软元件的操作以及纯单步指令的实现。所述编码方法及识别方法编码精简、识别方式准确性并且易于扩展。
【专利说明】—种PLC的指令编码及识别系统
【技术领域】
[0001]本发明涉及一种PLC的指令编码及识别系统。
【背景技术】
[0002]可编程控制器的硬件结构是建立在现代计算机硬件结构之上的,因此可编程控制器的工作方式和计算机类似,即通过执行事先编制好的程序代码进行工作。但是可编程控制器的实际控制对象又是千变万化的,在运行之前必须由用户进行可编程控制器用户程序的编写,并通过下载线下载到可编程控制器中的内部存储器中。目前,可编程控制器对用户程序的执行方式有两种:编译执行方式和解释执行方式。解释执行方式仅将用户编写的用户程序生成可编程控制器的指令表下载到可编程控制器中,由可编程控制器内部专门的核心软件负责解释执行。该核心软件除了进行初始化操作,自诊断,输入输出扫描刷新等操作夕卜,最重要的就是可以解释执行用户程序转化后的指令表。可编程控制器核心软件能够解释用户程序指令表中的所有指令,并根据相应的指令执行事先定义好的功能代码。当可编程控制器运行时,核心软件以极快的速度循环扫描用户程序指令表,实现用户定义的各种计算和操作。

【发明内容】

[0003]发明目的:本发明的目的是针对现有技术的不足而提供一种PLC的指令编码及识别系统,不仅编码精简性,在最短的编码长度内包含指令的完整信息,节省内存空间,提高了可编程序控制器运行效率;而且识别方式准确性,本文提出的编码识别方式能够确保可编程控制器能准确无误的运行并且每条指令识别不会出错;另外还易于扩展,可通过多次函数指针数组的跳转,或者建立二维或以上函数指针数组,并在编码中包含相应下标信息来实现指令的扩展,这对可编程控制器指令的扩展与功能上的升级提供了极大的便利。
[0004]技术方案:为了实现发明目的,本发明公开了一种PLC的指令编码及识别系统,包括编码模块、读取模块以及识别模块;编码模块用于对指令进行编码,指令分为纯单步指令、单步指令以及多步指令三大类;指令的处理单位为4位16进制码,第I位用于表示指令类型,纯单步指令的后3位用于表示纯单步指令编码号,单步指令的后3位用于表示指令操作对应的软元件编号,多步指令的后3位用于表示需要跳转到的函数指针数组的元素标号;读取模块用于对指令的读取;识别模块用于解析读取模块读取到的指令,根据指令的第I位判断出指令类型,根据不同指令类型以及低3位的值进行相应的指令操作。
[0005]作为优选,为了使得编码命令更加直观并且更加完整,所述单步指令中软元件包括状态寄存器、输入继电器、输出继电器、定时器、辅助继电器、计数器以及特殊辅助继电器。
[0006]作为优选,为了进一步提高编码的效率,所述多步指令包括双步指令、其他多步指令、定时器和计数器的输出指令以及应用指令。
[0007]作为优选,为了适应应用指令的不确定步长并且便于其步长数的保存与释放,所述应用指令的步长存储于相应的步长数组中。
[0008]作为优选,为了进一步提高编码的效率,所述识别模块的解析指令方法包括以下步骤:
[0009](I)取出一步指令中的第I位,根据第I位的值为纯单步指令值则进入步骤(2),若为单步指令值则进入步骤(3),若为多步指令值则进入步骤(4);
[0010](2)根据步骤(I)中一步指令的后3位,根据其值执行相关的指令操作;
[0011](3)根据步骤(I)中一步指令的后3位,对其值代表的软元件进行第I位值表示的相应操作;
[0012](4)若为双步指令,步骤(I)中的一步指令后3位表示函数指针数组的相应元素标号,则进入指针数组中的相应函数,第二步指令的后3位则表示软元件编号,
[0013]若为其他多步指令,则进行若干步查找相应函数,最后一步指令的后3位则表示软元件编号;
[0014]若为定时器和计数器的输出指令,则根据步骤(I)中的一步指令后3位值判断软元件编号,之后的步中则包含定时值或计数值信息;
[0015]若为应用指令,根据步骤(I)中的一步指令后3位值获取其步长数组中保存的相应步长数,执行下面相应步长数的指令。
[0016]有益效果:本发明与现有技术相比,有以下几个优点:
[0017]1、编码精简,在最短的编码长度内包含指令的完整信息,节省内存空间,提高了可编程序控制器运行效率。
[0018]2、识别方式准确,编码识别方式能够确保可编程控制器能准确无误的运行并且每条指令识别不会出错。
[0019]3、易于扩展,编码方式对于可编程序控制器指令提供了充分的扩展空间。针对需要扩展的指令模块,可通过多次函数指针数组的跳转,或者建立二维或以上函数指针数组,并在编码中包含相应下标信息来实现指令的扩展,这对可编程控制器指令的扩展与功能上的升级提供了极大的便利。
【专利附图】

【附图说明】
[0020]图1为本发明指令编码的识别流程图。
【具体实施方式】
[0021]下面结合实施例对本发明作更进一步的说明。
[0022]本发明PLC指令编码分为纯单步指令、单步指令以及多步指令三大类。所述PLC指令编码以步(4位十六进制码)为单位,将一步长的指令拆分为R+ppp的模式。其中R是最高位16进制码,表示范围0x0?OxF,用于表示指令类型,也就是函数指针数组的元素标号;PPP是指令步中较低3位16进制码,其含义在不同类型指令中意义不同。
[0023]其中单步指令用于表示指令操作对应的软元件编号,所以将软元件分为状态寄存器、输入继电器、输出继电器、定时器、辅助继电器、计数器以及特殊辅助继电器,如表I所示,其中S为状态寄存器、X为输入继电器、Y为输出继电器、T为定时器、M为辅助继电器、C为计数器、M为特殊辅助继电器,编号000至FFF分别对应一个位软元件。[0024]表1
【权利要求】
1.一种PLC的指令编码及识别系统,其特征在于,包括编码模块、读取模块以及识别模块; 编码模块用于对指令进行编码,指令分为纯单步指令、单步指令以及多步指令三大类;指令的处理单位为4位16进制码,第I位用于表示指令类型,纯单步指令的后3位用于表示纯单步指令编码号,单步指令的后3位用于表示指令操作对应的软元件编号,多步指令的后3位用于表示需要跳转到的函数指针数组的元素标号; 读取模块用于对指令的读取; 识别模块用于解析读取模块读取到的指令,根据指令的第I位判断出指令类型,根据不同指令类型以及低3位的值进行相应的指令操作。
2.如权利要求1所述的一种PLC的指令编码及识别系统,其特征在于,所述编码模块中单步指令的软元件包括状态寄存器、输入继电器、输出继电器、定时器、辅助继电器、计数器以及特殊辅助继电器。
3.如权利要求1所述的一种PLC的指令编码及识别系统,其特征在于,所述编码模块中多步指令包括双步指令、其他多步指令、定时器和计数器的输出指令以及应用指令。
4.如权利要求3所述的一种PLC的指令编码及识别系统,其特征在于,所述应用指令的步长存储于相应的步长数组中。
5.如权利要求1所述的一种PLC的指令编码及识别系统,其特征在于,所述识别模块的解析指令方法包括以下步骤: (1)取出一步指令中的第I位,根据第I位的值为纯单步指令值则进入步骤(2),若为单步指令值则进入步骤(3),若为多步指令值则进入步骤(4); (2)根据步骤(I)中一步指令的后3位,根据其值执行相关的指令操作; (3)根据步骤(I)中一步指令的后3位,对其值代表的软元件进行第I位值表示的相应操作; (4)若为双步指令,步骤(I)中的一步指令后3位表示函数指针数组的相应元素标号,则进入指针数组中的相应函数,第二步指令的后3位则表示软元件编号, 若为其他多步指令,则进行若干步查找相应函数,最后一步指令的后3位则表示软元件编号; 若为定时器和计数器的输出指令,则根据步骤(I)中的一步指令后3位值判断软元件编号,之后的步中则包含定时值或计数值信息; 若为应用指令,根据步骤(I)中的一步指令后3位值获取其步长数组中保存的相应步长数,执行下面相应步长数的指令。
【文档编号】G06F9/30GK103761071SQ201410008304
【公开日】2014年4月30日 申请日期:2014年1月8日 优先权日:2014年1月8日
【发明者】张志胜, 卓文涛, 周一帆, 卞扬清 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1