300 likes | 512 Views
VPC 串口通信例程. 上电科网研中心. 2011-01-05. 内容. 总则 PLC 与编程软件的通信 PLC 作为 Modbus-RTU 从站 PLC 作为 Modbus-RTU 主站 自由口通信 PLC 自组网通信. 总则. VPC 系列 PLC 的串行口支持 5 种功能的通信:上位机链接通信(编程口)、 PC-Net 自组网通信、自由口通信、 Modbus-RTU 从站、 Modbus-RTU 主站。 各通信功能遵照先配置后使用的原则: 首先进行通信主配置,配置通信方式及通信格式; 然后,在某些方式下,还需要进一步的配置;
E N D
VPC串口通信例程 上电科网研中心 2011-01-05
内容 • 总则 • PLC与编程软件的通信 • PLC作为Modbus-RTU从站 • PLC作为Modbus-RTU主站 • 自由口通信 • PLC自组网通信
总则 • VPC系列PLC的串行口支持5种功能的通信:上位机链接通信(编程口)、PC-Net自组网通信、自由口通信、Modbus-RTU从站、Modbus-RTU主站。 • 各通信功能遵照先配置后使用的原则: • 首先进行通信主配置,配置通信方式及通信格式; • 然后,在某些方式下,还需要进一步的配置; • 最后,在使用中,某些方式需要有通信指令及相关标志位的配合。 其中,第一步是必须的,后两步依据不同的通信方式而定。 • 通信主配置字 Port0:MW36; Port1:MW37; Port2:MW38 名词解释: 通信方式:即指上述的各种通信功能,体现在主配置字中。 通信格式:即串口格式,包含波特率、数据位、校验、停止位,体现在主配置字中。 具体通信模式:即各通信方式下的详细配置,体现在副配置字中。
两种通信主配置方式之一 • 直接在用户程序中通过编程将配置参数赋值给相应的寄存器 例如右图的程序,将在程序运行的 首轮扫描时,将16进制数0x3000 写入Port0的主配置字MW36,即 将Port0配置为Modbus从站方式。
两种通信主配置方式之二 • 通过在编程软件的PLC系统设置块中完成相应配置并下载来实现。 • 推荐该配置方式。 右图即为系统设置窗口中的端 口设置页。注意在下载时要勾 选“PLC系统设置”项,如上图。 注意:两种配置方式不可同时使用,否则可能会由于不一致而造成冲突。
PLC所带有串口的个数、类型及支持的通信功能依据不同的PLC机型而不同。 • 通常情况下,串口将按照用户配置的方式进行工作。 特殊地,当PC处于编程模式时, Port0将忽略配置字,而固定为上位机链接方式,通信格式为:115200bps,8,N,1。 • 串口的配置即修改即生效。 • 串口的配置具有断电保存的功能。上电时串口的工作方式将配置成和上次一样。 • PLC出厂时, Port0默认为上位机链接方式,通信格式为:115200bps,8,N,1。Port1默认为Modbus-RTU从站方式,站地址为4,通信格式为:19200bps,8,N,1。
PLC与编程软件的通信 • 使用方法: 将目标端口配置成上位机链接方式即可。 • 特殊说明:当PC处于编程模式时,Port0将固定为上位机链接通信方 式,通信参数为:115200bps,8,N,1。 返回
PLC作为Modbus-RTU从站 • 使用方法: 将目标端口配置成Modbus从站方式; 设置正确的从站地址。 • 配置字: MW102:Port0的站地址 MW103:Port1的站地址 MW105:Port2的站地址 说明:编程软件VX-Pro的系统设置块中额外支持Modbus从站地址的配 置,因此,通过这种方式可以一步完成Modbus从站通信的配置。
Modbus地址表 返回
PLC作为Modbus-RTU主站 • 使用方法: 将目标端口配置成Modbus主站方式, 在程序中使用Modbus主站指令。 • Modbus主站指令: 非周期请求: MBAR(字型), MBARX(位型) 周期请求: MBCR(字型), MBCRX(位型) 删除周期请求:MDCR • 标志位: SX43 通信口0周期Modbus命令请求允许标志 SX44 通信口0 非周Modbus命令请求允许标志 SX48 通信口1周期Modbus命令请求允许标志 SX49 通信口1 非周Modbus命令请求允许标志 SX73 通信口2周期Modbus命令请求允许标志 SX74 通信口2 非周Modbus命令请求允许标志
MBAR (MBARX)的典型应用:单次执行 • 非周期指令意味着扫描一次就执行一次 • 前置条件:触发标志位+允许标志位 • 触发标志位由用户所控制,在需要的时候产生。 • 允许标志位由系统产生,当通信负荷满时,会暂时关闭该标志。 • 后置处理:MBAR执行后则及时清除触发标志,防止非周期指令被多次执行。 说明:如右图,用WX0.0作为操作标志位。当IX0.0的上升沿到来时,将触发WX0.0使能,若允许标志位SX49使能,则将执行MBAR指令,然后复位WX0.0,不再执行;若此时SX49不使能,则程序将一直扫描直到SX49使能,则执行MBAR,然后才复位WX0.0。 (假设以WW1起始的区域已预先存入了请求帧信息)
MBAR (MBARX)的典型应用:周期执行 • 要点:触发标志的控制 说明:如右图,用0.5s交替变化的信号沿来触发WX0.0标志位,则可以达到用非周期指令实现周期性操作的目的。
MBCR (MBCRX)的典型应用 • 周期指令意味着一旦执行后就会周期地重复该请求 • 前置条件:触发标志位+允许标志位(可省略) • 触发标志位由用户所控制,在需要的时候产生。 • 允许标志位由系统产生,当通信负荷满时,会一直关闭该标志,除非清除周期请求。 • 后置处理:MBCR执行后则及时清除触发标志,防止周期请求被多次添加。 说明:如右图,用WX0.0作为操作标志位。当IX0.0的上升沿到来时,将触发WX0.0使能,若允许标志位SX48使能,则将执行MBCR指令,然后复位WX0.0,不再执行;若此时SX48不使能,则将无法执行MBCR指令。 与非周期指令不同的是,周期指令一旦执行后就具有长效性,需要设定该请求的周期时间,系统支持默认的周期时间。
MBCR (MBCRX)的典型应用 说明:常常以初次扫描标志作为条件,来执行MBCR指令。 注意:周期Modbus指令目前支持的最大请求数为16。当请求队列满 时,则允许标志位将关闭,不允许继续添加周期请求。 使用MBDR指令将删除当前所有的周期请求,并使能允许标志位。
例程:PLC作为Modbus主站连接格力特变频器 首轮扫描时,将标志位QX10.0置位,并且添加一个读取转速的周期性请求。
利用前面置位的标志位QX10.0发出一个设置转速的命令。利用前面置位的标志位QX10.0发出一个设置转速的命令。
利用IX0.0的上升和下降沿分别产生两个标志位,给后续程序使用。利用IX0.0的上升和下降沿分别产生两个标志位,给后续程序使用。
利用标志位QX10 .2发出一个开始转动的命令请求,执行后将该标志复位。
利用标志位QX10 .3发出一个停止转动的命令请求,执行后将该标志复位。 返回
自由口通信 • 使用方法: 将目标端口配置成自由口通信方式, 在程序中详细配置自由口的工作模式, 在程序中使用自由口通信指令完成所需的任务。 • 配置字: 通信口0: MW88~MW94 通信口1: MW95~MW101 • 自由口通信指令: 自由口发送: RXD 自由口接收: TXD • 标志位: SX40 通信口0 自由口接收完成标志 SX41 通信口0 自由口发送允许标志(暨上一次发送完成标志) SX45 通信口1 自由口接收完成标志 SX46 通信口1 自由口发送允许标志(暨上一次发送完成标志)
例程:PLC以自由口方式连接格力特变频器 • 在程序中详细配置自由口的工作模式 在首轮扫描时,配置自由口的工作模式为:以空闲行时间作为接收消息的 开始和结束条件,空闲行时间设为50ms。发送不做额外处理。
在首轮扫描时,将以WW0起始的8个字节通过Port1发送出去,完成设置转速的操作。在首轮扫描时,将以WW0起始的8个字节通过Port1发送出去,完成设置转速的操作。 注意:与前面Modbus主站方式不一样的是,此时待发送帧的所有数据都要自己准备好,包括结束的校验字要预先算好,填进去。而Modbus方式时,系统会自动计算CRC校验。
利用IX0.0的上升和下降沿分别产生两个标志位,给后续程序使用。利用IX0.0的上升和下降沿分别产生两个标志位,给后续程序使用。
利用标志位QX10 .2,将以WW0起始的8个字节通过Port1发送出去, 完成开始转 动的操作,执行后将该标志复位。
利用标志位QX10 .3,将以WW0起始的8个字节通过Port1发送出去, 完成停止转 动的操作,执行后将该标志复位。