VHDL语言教程(精华)
VHDL语言的简化教程pdf,通过文档可以全面了解VHDL的语法。VHDL概述:●●●●ⅤHDL→Ⅴ HSIC Hardwarter Description LanguageⅤHSIC→Ⅴ ery High speed integrated circuitVHDL是美国国防部在20世纪80年代初为实现其高速集成电路硬件ⅤHSIC计划提出的描述语言;IEEE从1986年开始致力于ⅤHD标准化工作,融合了其它ASIC芯片制造商开发的硬件描述语言的优点,于93年形成了标准版本( IEEE std1164)。1995年,我国国家技术监督局推荐ⅤHDL做为电子设计自动化硬件描述语言的国家标准。●●●●VHDL优点●●0覆盖面广,系统硬件描述能力强,是一个多层次的硬件描述语言;VHDL语言具有良好的可读性,既可以被计算机接受,也容易被人们所理解;ⅤHDL语言可以与工艺无关编程;VHDL语言已做为一种IEEE的工业标准,便于使用、交流和推广。VHDL语言的不足之处设计的最终实现取决于针对目标器件的编程器,工具的不同会导致综合质量不一样31VHDL语言基础●●●●3.1.1标识符( Identifiers)●●0标识符用来定义常数、变量、信号、端口、子程序或参数的名字,由字母(A~z,a-z)、数字(0-9)和下划线()字符组成。要求:●首字符必须是字母未字符不能为下划线●不允许出现两个连续的下划线不区分大小写●ⅥHDL定义的保留字(关键字),不能用作标识符●标识符字符最长可以是32个字符。注释由两个连续的虚线(--)引导关键字(保留字)●●●●关键字( keyword)是VHDL中具有特别含义的单词,只●●0能做为固定的用途,用户不能用其做为标识符。BJ]0: ABS, ACCESS, AFTER, ALL, AND, ARCHITECTUREARRAY ATTRIBUTE. BEGIN. BODY BUFFER BUS CASECOMPONENT, CONSTANT, DISCONNECT, DOWNTO, ELSEELSIF END ENTITY EXIT. FILE. FOR. FUNCTIONGENERIC. GROUP IF INPURE. IN. INOUT. IS. LABELLIBRARY LINKAGE. LOOP MAP MOD. NAND. NEW. NEXTNOR NOT NULL. OF ON OPEN OR OTHERS OUTPACKAGE. POUT. PROCEDURE. PROCESS. PURE. RANGERECODE. REM REPORT RETURN ROL. ROR SELECTSHARED SIGNAL SLA SLL SRA SUBTYPE. THENTRANSPORT. TO. TYPE UNAFFECTED. UNITS UNTIL. USEVARIABLE WAIT. WHEN. WHILE. WITH. XOR XNOR3.1.2数据对象( Date Objects)●●●●数据对象包括常量、变量、信号和文件四种类型。常量 Constant常量是对某一常量名赋予一个固定的值,而且只能赋值一次。通常赋值在程序开始前进行,该值的数据类型则在说明语句中指明。Constant常数名:数据类型:=表达式Constant vcc:real:=5.0;-定义vcc的数据类型是实数,赋值为5.0VConstant bus width: integer:=8;-定义总线宽度为常数8常量所赋的值应和定义的数据类型一致;常量在程序包、实体、构造体或进程的说明性区域內必须加以说明。定义在程序包内的常量可供所含的任何实体、构造体所引用,定义在实体说明内的常量只能在该实体内可见,定义在进程说明性区域中的常量只能在该进程内可见。变量 ariable●●●●变量只能在进程语句、函数语句和过程语句结构中使用。变量的赋值是直接的,非预设的,分配给变量的值立即成为当前值,变量不能表达“连线”或存储元件,不能设置传输延迟量。变量定义语句Variable变量名:数据类型:=初始值;Variable count: integer0to255:=20;-定义counηt整数变量,变化范围0255,初始值为20。变量赋值语句:目标变量名:=表达式;x:=10.0;-实数变量赋值为10.0Y:=1.5+x;-运算表达式赋值,注意表达式必须与目标变量的数据类型相同A(3to6):=(“1101”);-位矢量赋值信号 Signa信号表示逻辑门的输入或输出,类似于连接线,也可以表达存/储元件的状态。信号通常在构造体、程序包和实体中说明。信号定义语句Signa信号名:数据类型:=初始值Signal clock:bit:=‘0’;-定义时钟信号类型,初始值为0Signa| count: BIT VECTOR(3 DOWNTO0);-定义 count为4位位矢量信号赋值语句:目标信号名
- 2020-12-01下载
- 积分:1
AB PLC 与modbus 通信
AB PLC 与modbus 通信AB PLC 与modbus 通信AB PLC 与modbus 通信AB PLC 与modbus 通信www.PlcwoRld.cnu变频器触摸屏伺服启动气出程102Sepam2000与远程监控系统之间的通信是采用 MODBUS协议的通信方式MODBUS的通信采用的是一种主/从式数据传输,在主从结构的通信方式中有一台主机,多台从机,主机可与各个从机作双向通信,而各从机之间不能通信。主机与各个从机通信的报文形式为请求/响应帧方式。每次通信均由主机发起,不需握手。主机发出请求帧后,等待从机返回响应帧直至响应时间超时。从机只能通过提供数据响应主机的请求,或根据请求做出相应的动作。MODBUS协议定义了主札请求的格式,包括:请求的编址,要求动作的功能码,传输数据和错误校验等。请求中的编址(即地址码)提供接收主机报文霉的从机地址,从机根据地址判别是否接受该请求,用户必须设置每台从机的地址。功能编码告诉指定编址的从机完成什么样的动作。数据字段屮包含了从机执行任务时所需的附加信息。例如,功能编码03表示读取从机的保持寄存器并w毁w.91{κ其中的内容,数据区中的信息就益领诉从机从哪个寄存器开始读,需要读的寄冇器数。错淏校验字段为从杋提供了信息完整性校验的方法。同样,响N→oomo应的格式也是采用 MODBUS协议结构,从杋响应的功能编码与接受的请求的功能编码相对应,数据字段包含根据请求返回的数据,错误校验字段允许主机确认信息内容是合有效。MODBUS协议共有24种功能编码,但是并不都适用于 Sepam2000,实际应用中Sepam2000只是支持下面有限的几种:01读取输出状态02读取输入状态03读取内部寄存器内容04读取输入寄存器内容05强制单个输出状态第3页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程10206刷新单个寄存器内容07读取异常事件状态08诊断测试11读取计数器和状态字15强制多个输出状态16刷新多个寄存器内容如果主机希望读取2号 Sepam2000从机中寄存器0805h-080Ah的内容,则需要调用功能03。主机请求和从机响应的帧格式如下:请求帧地址功能号数据起始寄存器编址寄存器数目错误校验字段030C0506CRC16w3M9HMo应帧:WwW PLCworld cn字节数据寄存器数据寄存器错误校地址功能号计数(0805)(080A)验字段03OCDatalData6CRC16而如果主机希望刷新2号 Sepam2000从机中寄存器0810h的内容并把寄存器内容设置为1000,则需要调用功能06。主机请求和从机响应的帧格式如下:请求帧:地址功能号寄存器编址设置值错误校验字段06OCOE1000CRC16响应帧:(返回收到的请求帧)地址功能号寄存器编址设置值错误校验字段06OCOE1000CRC16第4页共10页www.PlcwoRld.cnPC变频器触挾屏伺服镦启动電气里程-1521Sepam2000的帧格式以及所执行的功能都有明确的定义,不能随意更改。在通信过程中,要确保主机和各从机的对应关系正确。此外,用户可以根据实际需要配置合适的传输波特率、宁符奇偶校验、停止位的个数等通信参数设置。四. AB PLC中 MODBUS协议的实现1.MCM模块的通信控制PROSOFT TECHNOL0GY公司的3100/3150-MOM通信模块,相当于网络接冂,PLC通过MoM模块与 MODBUS总线相连。MOM模块能快速、可靠地在 AB PLC中实现 MODBUS协议。3100/♂315σ0-MM通信模块可供用户选择使用主机模式或者从机模式。当MCM模块设定为主机,它对连接到总线上的从机进行控制,支持 MODBUS协议屮(01、02、03、04、05、06、15、16)8种功能编码,可以发送多达一百条定制的请求WM91H样am并支持以“广播”方式发出请求盖MCM模块指定为从机,它响应主机§的请求,此时能够支持 MODBUS协议中(01、02、03、04、05、06、08、15、16)9种功能编码。同时,无论是主机模式或者是从机模式,3100/3150MCM通信模趴都支持 ASCII和RTU两种传输模式当 AB PLC配置了3100/3150-MCM通信模块作为主机模式时,PLC采用周期扫描方式,按请求指令的顺序与从机交换数据。每次扫描期间,处理器使用逻辑写指令将主机内存中要输出到各从机的数据传送到3100/3150-MM通信模块屮的发送缓冲区,模块根据存储的功能指令,发送到指定的从机;而各从机响应后返回的数据,3100/3150-ⅦOM通信模块将其先存放在接收缓冲区,然后PLC使用逻辑读指令把数据移入相应的输入数据存储区。周而复始,使主机与从机中的数据得到周期性的刷新。整个数据流程如图2所示:第5页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程102PLC内存PLC指令MCM缓冲MCMMODBUS模式设备数据读数据:-(从机主机推令一(写)指令一主二一从参数参数配置配置图2MCM模块数据流程示意图2.MCM模块与 MODBUS的硬件连接MCM模块使用的是与RS232C兼容的标准通讯接口,但在实际应用中由于要实w{M.91耙通信,所以采用RS485方式。图3是3150-MCM模块9芯串行口与 MODBUS 8的连接图3150-MCMMODBUSTxRxD+ 9TxRxDTxRxDTxRXDRTS 7G№D5GND图33150MCM端口与 MODEUS连接示意图3.MM模块的缓冲区管理PLC与MM模块之间是通过模块输入、输出映像文件进行数据传送。PLC与数据时,将数据写入输出映像文件,然后3100/3150-MM通信模块把数据映射第6页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程102到相应的缓冲区位置上;PLC读数据时,根据映射地址,从输入映像文件屮读取模块缓冲区中对应地址的数据。映像文件的数据传送单位为一个50字节的数据块,PLC必须循环地一次传送一个数据块。MCM把缓冲区按数据传送的单位大小,分为若干个块,并一一标号,用块号对应起来,并且划分为三个区,分别用于数据、指令、参数设置。数据存储区从0块号开始,结束于79块号,中间有4000个字节的空间,用于存储接收的数据和发送的数据,是主札、从札交换数据的场所;指令存储区从第80块至第99块,共1000°个字节,用于存储主机模式下,模块的功能指令表,每次扫描,顺序按功能指令列表向从机发出请求帧:第25块号前40个字节则专门定义为模块设置参数存储区,用于初始化模块。在通信过程中,首先要对主机进行初始化,即对第255块号对应的缓冲区ww.91{进行参数配置,主要是定义通信端舶设置,模块缓冲区的详细划分。设置的有以下参数:N→oomo定义MCM通信模块两个独立的通讯接口设置。包括:选择主机模式或者从机模式、定义字符奇偶校验、停止位的个数,传输的波特率,响应延时等参数。〈2〉定义模块的缓冲区中冇储接收数据的数据冇储区。包括:接收数据存储区的起始块号,存储区的连续块数。③3〉定乂模块的缓洲区屮存储发送数据的数据存储区。包括:发送数据存储区的起始块号,存储区的连续块数。〈4〉定义模块的缓冲区中指令存储区。由于指令储区固定从80号数据块开始,所以只需指定存储区的块数。4.MCM模块的功能指令设置第7页共10页www.PlcwoRld.cnPC变频器触挾屏伺服镦启动電气里程-1521MCM模块处于主机模式下时,功能指令列表存放在模块缓区屮的指令存储区。主机向从札发出请求时,模块从指令存储区逐条读出功能指令,并按照MODBUS请求帧格式发送数据。指令存储区中每条功能指令的具体内容如下:1模块通信端口选择2从机的站地址。从机在接收数据时将本站编址的值与收到的站地址比较,以此判定信息是否是发给木站的。而主机在接收压则将收到的站地址与发送的站地址比较,以判断是否是正确的从机响应3指令的功能编码4源地址。即主机要发送或接收的数据在缓冲区中的起始数据地Wbn.91Hmi.com-Itwww.plcworld.Cn5数据长度。即主机要发送或接收的数据的字节数6目的地址。即从机要接收或响应的数据的寄存器地址数据的类型。用于标示读、写的数据是双字节的浮点数还是单字节的整数8轮询时间如果主机希望在1号通讯接冂读取2号 Sepam2000从机中寄存器0805h-080Ah的内容并存放到模块缓冲区第50个字节开始的连续6个字节中,功能指令内容如下:从机功能数据端口号源地址目的地址类型时间地址编码长度506080500第8页共10页www.PlcwoRld.cnu变频器触摸屏伺服启动气出程1025. AB PLC通讯程序的开发程序执行时,在第一个扫描周期,都必须设置MCM的状态,即初始化MM模块。通信程序屮,PLC在输入、输出映像文件屮为MCM缓冲区设置当前以及后续读写指针,分别指向当前MCM缓冲区数据块号,后续缓冲区数据块号。若MCM处于数据传送允许状态,即I1:1/0=1,00:1/0=0时,PLC判别当前读写指针,调用相应读写逻辑指令。如果指针指向接收数据的数据冇储区,则PC从jCM模块中接收数据:如果指针指向发送数据的数据存储区,则PLC向MCM模块发送数据;如果指针指向指令存储区,则PLC向MM模块传送功能指令,每次执行一个数据块的传送,并在传送后,把后续读写指针覆盖当前读与指针,w毁w91{M恧砟下个扫描周期进行下一个数据块的传送。PLC自动周期性扫描,按照编定的功能指令向从机的输入/输出数据进行发送/接收,以满足数据传输的要求。根据PLC的逻辑指令及MCM的通信原理,画出了图4所示的主机通信程序结构框图开始首次扫描时MCM初始化百传送允许?>是∈向接收数据区读数据指令一向发送数据区?>据[写数据指令是指向指令区?与功能指更改读写指针图4PLC程序框图第9页共10页www.PlcwoRld.cnPC变频器触挾屏伺服镦启动電气里程-1521五.结束语经过现场调试,实现了1台 AB PLC与13台 SEPAM2000组成的 MODBUS网络连接。实际应用证明,这种方式组成的系统结构简单,应用方便,能满足复杂的控制需要。参考文献3100/3150 MCM USER Manual, Pro Soft Tcchnology, 1997吵一2 AB PLC Programming Reference Manual, AB, 19973 Sepam2000 Communication protocol, Schneider, 1999W点M91HM|comWwW PLCworld cnN→oomo第10页共10页
- 2020-11-05下载
- 积分:1