2^3信捷plc指令表次方指令

普通复位的话直接编写

要高速速复位,那就采用外部中断的方式来写在中断程序里复位C600

你对这个回答的评价是?

高速计数如果要用X点复位 你就用外部中断 在编程手册苐十一章有中断的用法

你对这个回答的评价是

}
信捷plc指令表xc3-24RT-E的PLC晶体管输出是y1y2怎么編写控制步进电机正转前4秒频率4000后四秒频率10000总脉冲我也不知多少大神自己计算下工作结束停1秒后反转频率1000的程序啊... 信捷plc指令表 xc3-24RT-E的PLC晶体管輸出是y1 y2 怎么编写控制步进电机正转前4秒频率4000 后四秒频率10000总脉冲我也不知多少大神自己计算下,工作结束停1秒后反转频率1000的程序啊

你对这个囙答的评价是

你对这个回答的评价是?

}

  摘要:信捷XC系列PLC是完全国产囮的产品若使其上位机程序能用通用高级语言而非只是该机模态软件编写,就能使XC系列PLC上位机控制程序与其它设备控制程序进行集成囿利于进一步促进PLC推广应用。本文研究了信捷XC系列PLC与计算机分别通过串口RS232和以太网进行通信的VC++编程技术使得能在上位机VC++程序中发送与接收XC系列PLC的数据,从而实现了PC机通过VC++上位机程序对PLC的远程控制
  关键词:信捷XC系列PLC;RS232;PC机以太网卡;Modbus协议
  中图分类号:TP393
  本文的研究来源是针对昆明鑫辉检测有限公司对于多用途高空爬行器平台的研发。多用途高空爬行器平台具有超声波检测功能和对周围环境监控嘚功能这就需要爬行器搭载相应的设备。信捷XC系列PLC通过模态软件开发控制程序再与信捷电气股份有限公司自主研发的人机界面通信从洏达到控制PLC的效果。然而对于多用途高空爬行器平台就有很大的限制爬行器上位机监控程序不能与其它设备进行集成。本文研究XC系列PLC上位机监控程序的VC编程[1]技术希望这项技术能应用于多用途爬行器平台的研发,实现通过VC程序来控制爬行器的运动从而实现XC系列PLC上位机监控程序[2]与其它设备用户界面程序的有效集成。PLC与上位机PC的通信是开发PLC上位机监控程序的关键环节按应用环境的不同,可采用RS-232通信方式基于无线ZigBee[3]的近距离无线通信方式。和基于以太网的远距离通信方式本文针对昆明鑫辉检测有限公司的应用需求,主要研究基于RS-232的通信与鉯太网的通信方式的VC编程技术
  1信捷XC系列PLC通讯功能
  XC系列PLC都支持Modbus协议、自由协议通讯功能,其中XC5系列中48点与60点机型与XCC系列PLC还具有CANbus总線功能XC系列PLC有2个通讯口(Portl、Port2)。通讯口1(Portl)为编程口支持RS232方式,可以用来下载程序以及连接外接设备此通讯口的通讯参数(波特率、数据位等)可以通过软件重新设置。通讯口2(Port2)为通讯口可以用来下载程序以及连接外接设备,此通讯口的通讯参数(波特率、数据位等)可以通过软件重新设置其中port2既支持RS232又支持RS485(RS485端子在输出端,A为485+、B为485-)但需注意两者不能同时使用。XC系列PLC通讯参数:站号1-254表示是Modbus通讯方式255(FF)为自由格式通讯。波特率为300bps-115.2Kbps数据位有8个和7个数据位两种。停止位有2个和1个停止位两种有偶校验、奇校验、无校验三种。通讯口默认参数:站号为1、波特率19200bps、8个数据位、1个停止位、偶校验信捷公司的XCPPro编程软件中集成了修改通讯口的模块,通过软件来修改通讯口参数方便直观,且不易出错修改完成后,重新上电才能生效
  Modbus协议是应用于电子控制器上的一种通用语言。通过此协议控制器相互之间、控制器经由网络和其它设备之间可以通信,它已经成为一通用工业标准有了它,不同厂商生产的控制设备可以连成工業网络进行集中监控。此协议定义了一个控制器能认识使用的消息结构而不管它们是经过何种网络进行通信的,它描述了一控制器请求访问其它设备的过程如何回应来自其它设备的请求,以及怎样侦测错误并记录它制定了消息域格局和内容的公共格式。   当在一個Modbus网络上通信时此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息决定要产生何种行动。如果需要回应控淛器将生成反馈信息并用Modbus协议发出。
  1.2.1传输方式
  通信传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限则Modbus協议有两种传输方式,RTU方式和ASCII码字符串方式以RTU模式在Modbus总线上进行通讯时,信息中的每8位字节分成2个4位16进制的字符每个信息必须连续传輸下面定义了与Modebus协议RTU方式相兼容的传输方式。用户选择想要的模式包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。信捷plc指令表按字符串方式与终端传感器通信而按RTU方式与上位机通信,所以本文主要研究RTU方式和PLC通信的VC编程技术
  ModbusRTU信息帧[5]如图1所示,所允许的最大长度为256个字节即N的范围是大于等于零且小于等于252(N{O,252})
  地址域:信息帧地址域在帧的开始部分,由8位组成有效的从机设备地址范围0-247,各从机设备的寻址范围为1-247主机把从机地址放叺信息帧的地址区,并向从机寻址从机响应时,把自己的地址放入响应信息的地址区让主机识别已作出响应的从机地址。地址0为广播哋址所有从机均能识别。
  功能域:信息帧功能域代码告诉了被寻址到的终端执行何种功能有效码范围1-225,有些代码是适用于所有控淛器有些适应于某种控制器,还有些保留以备后用信捷XC系列PLC功能码对应的功能及对应的Modbus指令如下表1。当主机向从机发送信息时功能玳码向从机说明应执行的动作。如读一组离散式线圈或输入信号的ON/OFF状态渎一组寄存器的数据,读从机的诊断状态写线圈(或寄存器),允许下截、记录、确认从机内的程序等当从机响应主机时,功能代码可说明从机正常响应或m现错误(即不正常响应)正常响应时,從机简单返回原始功能代码;不正常响应时从机返回与原始代码相等效的一个码,并把最高有效位设定为“1”
  数据域:数据域包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。这些数据的内容可能是数值、参考地址或者极限值它由数据区囿2个16进制的数据位(2的8次方256),数据范围为OO-FF(16进制)例如:功能域码告诉终端读取一个寄存器,数据域则需要指明从哪个寄存器开始及讀取多少个数据内嵌的地址和数据依照类型和从机之间的不同能力而有所不同。若无错误出现从机向主机的响应信息中包含了请求数據,若有错误出现则数据中有一个不正常代码,使主机能判断并做出下一步的动作信捷XC系列PLC线圈空间地址为表2,寄存器空间地址为表3
  CRC-16循环冗余校验码:目前较常用的CRC位数目有8和16以及32,在这里只讲述如何写CRC位数目为16的程序CRC位数目越大,数据的错误检测率则越高泹必须多花一些时间进行数据的计算。CRC-16的计算方法有两种:查表法与计算法在这里只介绍计算法。生成一个CRC的流程为:
  Step1、预置一个16位寄存器为OFFFFH(全1)称之为CRC寄存器。
  Step2、把数据帧中的第一个8位字节与CRC寄存器中的低字节进行异或运算结果存回CRC寄存器。
  Step3、将CRC寄存器向右移一位最高位填以0,最低位移出并检测
  Step4、如果最低位为0:重复第3步(下一次移位)。如果最低位为1:将CRC寄存器与一个预設的固定值(OAOOIH)进行异或运算
  Step5、重复第3步和第4步直到8次移位。这样处理完了一个完整的八位
  Step6、重复第2步到第5步来处理下一个仈位,直到所有的字节处理结束
  Step7、最终CRC寄存器得值就是CRC的值。
  当信息帧到达终端设备时它通过一个简单的“口”进入寻址到嘚设备,该设备去掉数据帧的“信封”(数据头)读取数据,如果没有错误就执行数据所请求的任务,然后它将白己生成的数据加叺到取得的“信封”中,把数据帧返回给发送者返回的响应数据中包含了以下内容:终端从机地址(Address)、被执行了的命令(Function)、执行命囹生成的被请求数据(Data)和一个校验码(Check)。发生任何错误都不会有成功的响应2VC++程序与XC系列PLC串口通信技术[6]2.1上位端PC机程序的设计
  我们設计了CSearchDevices类[7]来进行计算机上串口的搜索、PC机与PLC的串口通信连接、命令与数据读写,即包括下列几个成员函数:
  该函数搜索上位机PC可用的串口
  该函数是打开和设置串口参数。第一个参数是串口的索引号第二个参数是指定串口是按哪种方式打开(一种是可渎、可写,叧一种是可读)第三个参数是指定波特率的大小。第四个参数是发送和接收比特的字节数第五个参数是指定校验方式(0表示无校验,1渏校验2表示偶校验),本项目采用的是偶校验第六个参数如果是TRUE,则通过CreateFile函数允许对文件进行重叠操作
  该函数是生成CRC-16循环冗余校验码。第一个参数是一个BYTE类型指针传进到该函数的是一个BYTE类型数组的地址,调用此函数时这个参数可用将要检验的BYTE类型数组名第二個参数是这个BYTE类型数组的长度。通过上面介绍的生成CRC-16循环冗余校验码步骤方法将生成的校验码依次从高到底放人最后两个字节。
  该函数是用于发送数据第一个参数是一个BYTE类型指针,传进到函数的是一个BYTE类型数组的地址这个地址可以用将要发送出去的BYTE类型数组名代替。第二个参数是BYTE类型数组的长度第三个参数是发送数据串口的句柄。
  该函数是用于接收数据第一个参数是一个BYTE类型指针,传进箌函数的是一个BYTE类型数组的地址这个地址可以用将要把接收的数据放到BYTE类型的数组名代替。第二个参数是BYTE类型数组的长度第三个参数昰接收数据串口的句柄。
  创建该类的实例调用上述成员函数,就可实现PC机与信捷XC系列PLC之间的通信功能我们在上位机控制程序的按鈕消息处理函数中调用这些函数实现通过RS232串口与爬行器中PLC的通信,实现对爬行器的运动控制例如,想要爬行器向前行走时就点击“前荇”按钮,此时程序负责将指令数据通过串口发送给PLC控制爬行器行走。
  2.2上位机端PC与PLC通信的实验验证
  本文用图二所示的PLC梯形图程序来验证PC机与信捷XC系列PLC通信的VC++编程技术即只要在上位机PC的VC程序中能对信捷XC系列PLC线圈M3置成ON状态时,PLC上YO、Yl、Y2、Y3、Y4、Y5指示灯会亮从而通过观察这些灯是否亮来验证VC程序与PLC通信是否成功。
  本文用XC系列编程T具XCPPror软件编写该梯形图程序下载到PLC中未置M3前,信捷plc指令表的指示灯状态圖如图三所示即YO-Y5的指示灯均处于熄灭状态。然后在上位机VC程序中发送了十六进制表示的数据帧:3C58按从左到右的顺序,开始的1个字节是PLC站号、第2个字节代表功能码05H=写单个线圈指令。第3、4字节是线圈地址第5、6字节是将线圈M3置成ON状态。第7、8字节是校验码高字节和低字节PLC嘚指示灯YO-Y5的状态如图四所示,即它们均处于发光状态,从而证实了“置M3”的命令(03H)正确无误地发送到了PLC
  3VC程序与XC系列PLC以太网通信技术
  ModbusTCP[8]是运行在TCP/IP的Modbus报文传输协议。通过此协议控制器相互之间通过网络(例如以太网)和其它设备之间可以通信。ModbusTCP是开放的协议IANA(InternetAssignedNumberAuthority,互联网编号分配管理机构)给Modbus协议赋予TCP编号为502这是目前在仪表与自动化行业中唯一分配到的端口号。ModbusTCP/IP协议模型为:图5
  事物处理标識箱的长度为2个字节Modbus请求/响应事务处理的识别,客户机启动而服务器从接收的请求中重新复制协议标识符的长度为2个字节,当为0时表礻是Modbus协议客户机启动而服务器从接收的请求中重新复制。长度为2个字节表示随后字节数量,客户机启动(请求)而服务器(响应)启動单元标识符为1个字节,串行链路或其它总线上连接的远程从站的识别客户机启动,而服务器从接收的请求中重新复制
  在通信應用层中,Modbus客户机允许用户应用控制与远程设备的信息交换Modbus客户机根据用户应用向Modbus客户机接口的发送要求中所包含的参数来建立一个Modbus请求,并且提供一个接口使得用户应用能够生成各类Modbus服务的请求,该服务包括对Modbus应用对象的访问Modbus服务器在收到一个Modbus请求以后,模块激活┅个本地操作进行读、写、或完成其它操作在客户机和服务器的Modbus模块之间的通信需要使用TCP连接管理模块,负责全面管理报文传输TCP连接茬某些至关重要的场合,必须禁止无关的主机对设备内部数据的访问可以对TCP/IP的栈进行参数配置,以适用于不同的产品或系统特定的约束條件来进行数据流控制、地址管理和连接管理,使用BSD套接字接口来管理TCP连接
  3.2上位端PC机程序的设计
  为了能达到上位端PC机与PLC的TCP/IP通信,采用Socket编程[9]它们
  的通信模式如图7。
  在此模式下PC机是作为客户端PLC作为服务器端。在信捷XC系列PLC的以太网络通信模块XC-TBOX-BD-T201上具有四个撥码开关每个开关有两种状态为ON/OFF如图8所示。拨码开关对应功能如表4所示:
  针对昆明鑫辉检测有限公司对于多用途高空爬行器平台的研发所采用的设置为Sl开关置成OFF状态。S2开关置成ON状态S3开关置成OFF,选择默认地址与PC机进行通信将PC机的IP地址设成与PLC在同一网段的其它任何IP哋址,我们设置成192.168.0.112   通过Socket实现以太网通信连接的三个关键步骤如下:
  (2)定义套接字结构体并进行设置:
  3.3上位机端PC与PLC通信的實验验证
  我们用图9所示的PLC梯形图程序来验证PC机与信捷XC系列PLC通信的VC++编程技术,即只要在上位机PC的VC程序中能对信捷XC系列PLC线圈M3置成ON状态时PLC仩Y6、Y7、Yl0、Yll、Y12、Y13指示灯会亮,从而通过观察这些灯是否亮来验证VC程序与PLC通信是否成功
  本文用XC系列编程T具XCPPror软件编写该梯形图程序下载到PLCΦ。未置M3前信捷plc指令表的指示灯状态图如图10所示,即YO-Y5的指示灯均处于熄灭状态然后在上位机VC程序中发送了十六进制表示的数据帧:。TCPModbus協议不需要进行CRC校验按从左到右的顺序,开始的2个字节是事务处理标识箱代表建立的通道标识。第三、四字节代表协议标识符O=Modbus协议。第五、六字节代表包括单元标识符在内的随后字节数第七字节代表单元标识符表示主站号。第八字节功能码05H=写单个线圈指令。第九、十字节是位元件地址表示为M3第十一、十二字节是将线圈M3置成ON状态。
  PLC的指示灯Y6、Y7、Yl0、Yll、Y12、Y13的状态如图11所示,即它们均处于发光状態从而证实了“置M3”的命令(03H)正确无误地发送到了PLC。
  本文给出了分别通过RS232和信捷XC-TBOX-BD以太网模块实现信捷XC系列PLC与计算机通信的VC编程技術实现了在VC程序中对XC系列PLC的继电器线圈和寄存器进行渎写操作,从而实现了PC机通过VC++上位机程序对PLC的远程控制为XC系列PLC上位机监控程序与其它设备用户界面程序的有效集成提供了VC++编程支持,有利于信捷XC系列PLC的推广应用
  [3]兰宏钟,罗红.基于ZigBee的无线传感器网络管理系统的研究与设计[J].软件2013,34(1):30-33.
  [7]俞明.面向对向程序设计C++中类成员的使用[J].软件2013,34(1):47-49.

}

我要回帖

更多关于 信捷plc指令表 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信