讲解D8120说明:16进16进制:0C8E0000110010001110即数据长度为7位,偶校验,2位停止位,波特率为9600bps,无标题符和终结符,没有添加和校验码,采用无协议通讯(RS485)。※根据MD320的通讯协议,无帧头和帧尾,则(bit9,bit8)=(0,0)。※bit13~15是计算机链接通讯时的设定项目,使用RS指令时必须设定为0。※RS485未考虑设置控制线的方法,使用FX2N-485-BD、FX0N-485ADP时,(bit11,bit10)=(1,1)。※若PLC和变频器之间的通讯参数如下:8位数据位,无校验,2位停止位,波特率9600,无帧头无帧尾,无协议模式,则D8120=H0C89(H表示16进制)(0000110010001001B)M8002│──||──────────[MOVH0C89D8120]5、相关标志位:※M8122:数据发送请求标志当PLC处于接收完成状态或接收等待状态时,用脉冲触发M8122,将使得从D0开始的连续8个数据被发送。当发送完成后,M8122自动被复位。当RS指令的驱动输入X0变为ON状态时,PLC就进入接收等待状态。※M8123:数据接收完成标志当M8123置位时,表明接收已经完成,此时需要将接收到的数据从接受缓冲区转移到用户指定的数据区,然后手工复位M8123。复位M8123后,则PLC再次进入接收等待状态。如果指定的接收长度为0,则M8123不动作,也不进入接收等待状态。从这个状态想进入接收等待状态,必须使接受长度≥0,然后对M8123进行ON→OFF操作。※M8129:通讯超时标志接收数据中途中断时,那个时点开始如果在D8129中规定的时间内不再重新开始接收,作为超时输出标志M8129变为ON状态,则接收结束。M8129需手工复位。4、收发数据的顺序控制程序│M8000│──||──────────[RSD0K8D10K8]││发送请求脉冲│──||──────────[写入发送数据的内容]││───[SETM8122]│发送请求,发送完成后自动复位│M8123│──||──────────[处理接收数据的内容]││───[RSTM8123]│接收完成后,手工复位│※超时时间:在进行通讯时,例如我们设置的通讯超时时间为50ms,则D8129=K5(K表示常数,在D8129中默认单位为10ms)。M8002│──||──────────[MOVK5D8129]复位M8129指令M8129│──||──────────[RSTM8129]注意事项:1、发送完成→接收开始或接收完成→发送开始的中间,须设置下述的OFF时间。FX1S:2个扫描周期以上;FX2N:100us以上。2、PLC在接收数据时,将直至该接收完成后才能进行发送。3、起始数据接收后,直至接收完成标志M8123转为ON之前为接收中,此时不能执行发送要求。※M8161:8位/16位选择当M8161为OFF时,数据帧处理的是16位有效数据,也就是一个字包含两个有效的信息字符,发送和接收都是先低字节后高字节顺序。当M8161为ON时,数据帧处理的是8位有效数据,也就是一个字包含一个有效的信息字符,放在低字节中,高字节信息忽略。例如用8位数据处理模式,则:M8002│──||──────────[SETM8161]特殊寄存器描述D8120D8122D8123D8129M8000M8002M8121M8122M8123M8129M8161通讯格式设置需要发送的剩余数据的个数接收数据的个数数据接收超时值运行监控(常通)初始脉冲接通数据发送等待标志,用于其他通讯方式数据发送请求标志数据接收完成标志通讯超时标志8位/16位数据处理模式转化标志※如果使用FX2N-485BD或FX0N-485ADP时,需设定D8120的(bit11,bit10)=(1,1)。否则接收到的数据和发送的数据一样。※使用FX2N-285BD模块时,通讯接收完成的判断标准如下:接收的字节数达到指定的接收长度或者接收到指定的结束字符。由于FX2N-485BD模块在做RS485通讯时,RDA连接SDA,RDB连接SDB,发送的信号同样会回到接收线上,因此接收完成标志会产生两次(第一次接收的字符为发送的字符,第二次接收的信号才是变频器的应答信号),务必小心处理。※发送、接收标志的处理:发送启动只需要一次,即置位一次M8122,通讯指令RS需要长期驱动,直至发送和接收都完成。发送完成后M8122自动复位,接收完成则M8123置位。处理完接收数据后,需对M8123手工复位。※超时标志的处理:接收数据途中中断时,如在D8129指定的时间内不再重新开始数据接收,做为超时输出标志位M8129变为ON,则接收结束。M8129不能自动复位,需手工复位。※协议内容该串行通信协议定义了串行通信中传输的信息内容及使用格式。其中包括:主机轮询(或广播)格式;主机的编码方法,内容包括:要求动作的功能码,传输数据和错误校验等。从机的响应也是采用相同的结构,内容包括:动作确认,返回数据和错误校验等。如果从机在接收信息时发生错误,或不能完成主机要求的动作,她将组织一个故障信息作为响应反馈给主机。※应用方式变频器接入具备RS232/RS485总线的“单主多从”PC/PLC控制网络。※总线结构(1)接口方式:RS232/RS485硬件接口(2)传输方式:异步串行,半双工传输方式。在同一时刻主机和从机只能有一个发送数据而另一个只能接收数据。数据在串行异步通信过程中,是以报文的形式,一帧一帧发送。(3)拓扑结构:单主机多从机系统。从机地址的设定范围为1~247,0为广播通讯地址。网络中的从机地址必须是唯一的。※RTU帧格式(详见MD320串行通讯协议)START(无帧头)从机地址ADR命令码CMD3.5个字符时间通讯地址:1~247,广播地址:003:读从机参数;06:写从机参数数据内容DATA(N-1)资料内容:数据内容DATA(N-2)功能码参数地址,功能码参数个数,功……能码参数值等。数据内容DATA0CRCCHK高位检测值:CRC值。CRCCHK低位END(无帧尾)※变频器设置:3.5个字符时间三亿文库3y.uu456.com包含各类专业文献、幼儿教育、小学教育、生活休闲娱乐、高等教育、专业论文、文学作品欣赏、中学教育、RS指令讲解81等内容。RS指令讲解81-2F0-02=2,命令源选择为通讯方式给定;;F0-03=9,频率源选择为通讯方式给定;;FD-00=5,波特率选择为9600;;FD-01=0,无校验:数据格式8,N,;FD-02=1,变频器地址为1;;FD-03=10,应答延时10ms;;FD-04=0.0,通讯超时时间0.0s;※接线方式;首先将FX2N-485-BD上的RDA-SDA端;※程序F0-02=2,命令源选择为通讯方式给定;F0-03=9,频率源选择为通讯方式给定;FD-00=5,波特率选择为9600;FD-01=0,无校验:数据格式8,N,2;FD-02=1,变频器地址为1;FD-03=10,应答延时10ms;FD-04=0.0,通讯超时时间0.0s。※接线方式首先将FX2N-485-BD上的RDA-SDA端子短接,RDB-SDB端子短接;然后RDA接变频器通讯卡的485+,RDB接变频器通讯卡的485-。※程序构架X0闭合→置位M0→发送1#机运行命令→置位M1→发送1#机运行频率命令(50.00%)X3闭合→置位M3→发送广播停机命令※程序说明1.通讯格式[D8120]:波特率9600,无校验,8位数据位,2位停止位,无帧头和帧尾;使用FX2N-485-BD通讯模块。2.M8161置位表示8位处理模式,其适用于FNC76(ASC)、FNC80(RS)、FNC82(ASCI)、FNC83(HEX)、FNC84(CCD)指令。3.通讯超时[D8129]设定为10ms。4.X0闭合→置位M0→发送1#机运行命令→置位M1→发送1#机运行频率命令(50.00%)X3闭合→置位M3→发送广播停机命令。5.P0子程序为CRC校验程序。2通讯协议2.1PLC发送数据到变频器的串行通讯协议2.1.1写入数据通讯协议格式A,占用12个数据寄存器。例:写入站号为1变频器,使其运行频率为30Hz。2.1.2写入数据通讯协议格式A’(经常用到的协议格式)占用10寄存器。例:写入站号为1变频器,使其正转2.1.3指令代码:写入指令的作用是改变变频器的运行状态、改变运行的频率。操作指令指令代码数据内容运行频率写入HEDH0000-H2EE0(120赫兹)*运行频率写入的数据除以100,则为实际变频器运行频率!2.2从变频器读出数据到PLC2.2.1读出数据(PLC向变频器发出请求,读出运行频率)指令执行后,变频器自动返回应答数据。例:写入站号为1变频器,读出运行频率,设目前运行频率为30Hz,2.2.2变频器应答数据格式E例:读出站号为1变频器的运行频率为30Hz。起始标志变频器站号读出的数据结束标志总和效验可见,需要读出的数据在D33/D34/D35/D36中。3编程实例3.1控制电机正、反转,停车3.1.1正转控制程序X0:正转启动按键,X1:反转启动按键,X2:停车按键指令说明第0行:设置通讯格式H0C96=110010010110,对照M8120格式表,确定通讯模式为无协议,波特率为19200,7位数据位/1位停止位/偶效验。那么变频器也应对应设置,方可通讯。第6行:设定通讯缓冲区D10为发送数据首地址,12字节;D30为接受首地址,13字节,每字节8位。置位M8161,设为8位通讯模式。第18行:按照协议,发送数据[MOVH5D10]通讯请求信号ENQ;[MOVH30D11][MOVH31D12]发送变频器站号,为01号站;[MOVH46D13][MOVH41D14]发送控制指令HFA,控制变频器运行;[MOVH31D15]设等待时间1×10ms[MOVH30D16][MOVH32D17]发送H02正转指令代码;[CCDD11D100K7]求和,将从D11到D17共7个数据寄存器内按16进制求和,结果放入D100.[ASCID100D18K2]将D100内求和结果转换为ASCII码,分别放置D18/D19。[SETM8122]激活发送,开始向变频器发送数据。发送结束,M8122自动复位。3.2写入运行频率X4:发送运行频率按键指令说明1、[MOVH45D13][MOVH44D14]发送功能指令HED,向变频器写入运行频率。2、[ASCID200D16K4]将D200内存放的运行频率数据传送到变频器,D200内数据转换为ASCII码后,存放在D16/D17/D18/D19四个数据寄存器内。3.3读出运行数据指令说明1、[MOVH36D13][MOVH46D14]发送功能指令H6F,实现频率读取,并将变频器运行频率数据存放在D33/D34/D35/D36,参见格式E。2、M8123为数据接收结束特殊辅助继电器,当接收结束时,M8123不会自动复位,需要编程复位。3、功能指令改写为H70,[MOVH37D13][MOVH30D14],则可读取变频器的运行电流。4、功能指令改写为H71,[MOVH37D13][MOVH31D14],则可读取变频器的运行电压。实现三菱PLC与变频器间串行通讯,首先要正确的进行硬件连线,规范的设置变频器和PLC的通讯参数。再则,掌握RS-485通讯读出和写入的协议格式,熟悉与通讯相关联软元件,有了这样的理论准备,我们就可以很好的编写串行通讯程序,最终完成PLC与变频器间通讯,实现设备间数据交换和控制。参考文献:[1]李全力主编.可编程序控制器及其网络系统的综合应用技术.北京:机械工业出版社,2005[2]邱公未主编.可编程控制器网络通信及应用.北京:清华大学出版社,2000[3](日)三菱公司编.FX2N(c)系列编程手册.[4](日)三菱公司编.FX2N(c)系列通信篇.[5](日)三菱公司编.三菱变频器E5