美系plc_变频器知识_plc大全_领航仪器

公司是中国地区机械传动、工业自动化产品及服务的首要提供商,其主要业务包括帮助客户开发和建立智能的工业自动化控制系统,为客户提供高性价比的传动控制产品、专业的机电一体化技术解决方案等。

当前位置: 领航仪器 > 新闻动态 > 正文

台达plc编程软件sfc问题三菱plc系列高速比较指令

时间:2020-01-13 02:19来源:新闻动态
三菱FX系列plc与pc机通讯设置_信息与通信_工程科技_专业资料。PLC相关基础知识 三菱 FX 系列 plc 与 pc 机通讯设置 PC机与PLC实现通信的条件 带异步通信适配器的PC机与PLC只

  三菱FX系列plc与pc机通讯设置_信息与通信_工程科技_专业资料。PLC相关基础知识

  三菱 FX 系列 plc 与 pc 机通讯设置 PC机与PLC实现通信的条件 带异步通信适配器的PC机与PLC只有满足如下条件,才能互联通信: (1) 带有异步通信接口的PLC才能与带异步通信适配器的PC机互联。 还要求双方采用 的总线标准一致,否则要通过“总线标准变换单元”变换之后才能互联。 (2)双方的初始化,使波特率、数据位数、停止位数、奇偶校验都相同。 (3) 要对PLC的通信协议分析清楚, 严格地按照协议的规定及帧格式编写PC机的通信 程序。PLC中配有通信机制,一般不需用户编程。 3 PC机及与FX系列PLC的串行通讯 3.1 硬件连接 PC机与FX系列PLC不能直接连接, 要经过FX-232AW单元进行RS232C/ RS-422的变换,下图表示了它们之间的连接关系: 3.2 FX系列PLC的通信协议 在PC机中必须依据互联的PLC的通信协议来编写通信程序, 因此先介绍FX系列PLC 的通信协议。 (1)数据格式 FX系列PLC采用异步格式,由1位起始位、7位数据位、无锡市瑞光仪器仪表制造公司1位偶校验位及1位停止位组 成,波特率为9600bps,字符为ASCII码。格式如下: (2)通信命令 FX系列PLC有4个通信命令,三菱plc系列高速比较指令的运用它们是读命令、写命令、强制通命令、强制断命令,如下 表所示。表中X—输入继电器;Y—输出继电器;M—辅助继电器;S—状态元件;T—定 时器;C—计数器;D—数据寄存器。 (3)通信控制字符 FX系列PLC采用面向字符的传输规程,用到5个通信控制字符,如下表所示。 *当PLC对PC机发来的ENQ不理解时,用NAK回答。 (4)报文格式 PC机向PLC发送的报文格式如下: 其中STX为开始标志:02H;ETX为结束标志:03H;CMD为命令的ASCII 码;SUMH,SUML为从CMD到ETX按字节求累加和,溢出不计。由于每字节十六 进制数变为两字节ASCII代码,三菱plc系列高速比较指令的运用故校验和为SUMH与SUML。 数据段格式与含义如下: *写命令的数据段有数据,读命令的数据段则无数据。 读/写字节数为01H~40H(1~64)个。 PLC向PC机发送的应答报文格式如下: *对读命令的应答报文数据段为要读取的数据,一个数据占两个字节,分上位下位: 对写命令的应答报文无数据段,台达plc编程软件sfc问题而用ACK及NAK作为应答内容。 (5)传输过程 PC机与FX系列PLC之间采用应答方式通信,传输出错则组织重发。其传输过程如下: PLC根据PC机的命令, 在每个循环扫描结束处的END语句后组织自动应答, 无需用户 在PLC一方编写程序。 4 利用VB6.0编写通信程序 下面以一个简单的例子来说明编写通信程序的要点。 假设PC机要求从PLC中读入从D1 23开始的4个字节的数据(D123,D124),其传输应答过程及报文如下(图略可向 作者索取) : 命令报文中10F6H为D123的地址,无锡市瑞光仪器仪表制造公司 04H表示要读入4个字节的数据。 校验和SU M=30H+31H+30H+46H+36H+30H+34H+ 03H=174H,三菱plc系列高速比较指令的运用溢出部分不计,故SUMH为'7' ,SUML为‘4’ ,相应的ASC II码为“37H”“34H” , 。应答报文中4个字节的十六进制数,其相应的ASCII 码为8个字节,故应答报文长度为12个字节。台达plc编程软件sfc问题 根据PC机与FX系列PLC的传输应答过程编制出如下所示的通信程序流程图略。 利用VB的MSComm控件, 按照流程图可以编写如下通信程序实现PC机与FX系列P LC之间的串行通信以完成数据的读取。 MSComm控件可以采用轮询或事件驱动的方法 从端口获取数据。在这个例子中使用了轮询方法。 (1)通信口初始化 Private Sub Initialize() MSComm1.CommPort = 1 MSComm1.Settings = ″9600,E,7,1″ MSComm1.InBufferSize = 1024 MSComm1.OutBufferSize = 1024 MSComm1.InputLen = 0 MSComm1.InputMode = comInputModeText MSComm1.Handshaking = comNone MSComm1.PortOpen = True End Sub (2)请求通信与确认 Private Function MakeHandShaking() As Bool ean Dim InPackage As String MSComm1.OutBufferCount = 0 MSComm1.InBufferCount = 0 MSComm1.Output = Chr(&H5) Do DoEvents Loop Until MSComm1.InBufferCount = 1 InPackage = MSComm1.Input If InPackage = Chr(&H6) Then MakeHandShaking = True Else MakeHandShaking = FalseEnd If End Function (3)发送命令报文 Private Sub SendFrame() Dim OutString As String MSComm1.OutBufferCount = 0 MSComm1.InBufferCount = 0 OutStrin = Chr(&H2)+″0″+″10F604″+Chr(&H3)+″ 74″ MSComm1.Output = OutString End Sub (4)读取应答报文 Private Sub ReceiveFrame() Dim InString As String Do DoEvents Loop Until MSComm1.InBufferCount = 12 InString = MSComm1.Input End Sub

编辑:新闻动态 本文来源:台达plc编程软件sfc问题三菱plc系列高速比较指令

关键词: