西门子位逻辑指令有哪些MBUS_MSG指令error为什么VB我按照顺序来显示错误?

如果经常接触项目的话,大都了解,S7-200型号的PLC已经彻底停产了,西门子使用了200SMART来代替,而200SMART的用法和200基本上是差不多的,但是200smart多了以太网功能,这也是现在的主流。

之所以这篇文章还来介绍200SMART的通信,主要还是国内现在大部分的小型单机项目,还是会经常使用到它;

这其中,200SMART的通信和运动控制这两大功能,几乎是必用的。

下面我们就用一个简单的例子,为大家演示下smart的MODBUSRTU通信。

具体什么是通信,这里就不过多讲解了,我们直接看指令的介绍。

图中,若使用编号1处的端口,选用第一个文件夹内的指令,

首先,我们调用MBUS_CTRL指令(主站定义参数),CTRL指令引脚:

Parity:奇偶校验;0=无校验,1=奇校验,2=偶校验;

Timeout:通信超时,1ms到32767ms 之间的任何值;典型值是1000ms (1 s),一般要足够大,让从站有足够的反应时间;

(注意:MBUS_CTRL指令,要写在主站里,一个主站只要写一条即可。波特率和奇偶校验要与从站的设定一致。)

DataPtr,主站的数据区;如果RW处是写,则是把该引脚处数据写到从站,如果RW处是读,则是把从站数据读到该引脚处;必须使用指针符号(&)

(Done和Error,就不在重复介绍了,在F1帮助里有介绍)

讲下,这里我们填写的Slave从站站号是3,是因为主站的地址我们默认为2。

在这里我们还需要再设置下主站和从站plc上电就处于RUN状态;

这样设置好后,当我们在调试的时候,只要给两台plc上电,那么它们就会自动执行通信。

MaxHold:可访问的V存储器中的字保持寄存器数;

HoldStart:存储器中保持寄存器的起始地址;

成后,将程序各自下载到对应的主站plc和从站plc里,可以试下断电启动;这时,因为主站是写功能,地址是IB0,也就是I0.0-I0.7,与之对应的从站地址是1,所以,I0.0控制Q0.0,以此类推。

(2) 主站读取从站的MB4MB5存入主站的MB4MB5。

1、该案例有3个读写功能要完成,由于MODBUS通信某一时间只能有一条 MBUS_MSG 指令处于激活状态,因此需要轮询通信。

2、由于MBUS_MSG指令不能使用M存储器,因此需先在从站编写M区传送到V区程序,再通过通信把V区数据读入到主站,主站再编写V区传送到M区指令,完成从站的M区数据到主站的M区。

3、VD传送是4个字节,2个字

MB45先传送到时V区,才能实现通信

从站编写完程序后,注意要分配库存储器

从站起始地址是VW10,对应40001地址

完成后置位下一指令复位上通信标志

读完传到MW4,完成M区传送


3.变频器的参数设置 V20用内置的基本操作面板(简称为BOP)来设置参数。表8-3是在连接宏Ch003的参数基础上设置的V20的参数。 4.用按钮切换电动机的多段转速 图8-6中 Q0.0通过DI1控制V20的起动/停止,Q0.1~Q0.3通过DI2~DI4选择固定频率值0~2。DI2~DI4同时有两个或3个为1(ON)时,频率给定值等于为1的DI对应的频率值之和(见表8-3)。 按一次“加段号”按钮SB1,转速的段号加1,第7段时按“加段号”按钮段号不变。按一次“减段号”按钮SB2,段号减1,第0段时按“减段号”按钮段号不变。段号用一只7段LED共阴极显示器来显示,用共阳极7段译码驱动芯片4547来控制7段显示器。 无故障时I0.3为OFF。 (3)RS-485 RS-422A是全双工,用4根导线传送数据。RS-485是RS-422A的变形,为半双工,使用双绞线可以组成串行通信网络,构成分布式系统。 6.3.2 串行通信的硬件 1.S7-200 SMART的串行通信端口 S7-200 SMART CPU有一个集成的RS-485端口(端口0),还可以选配一块RS232/RS485 CM01信号板(端口1),它们分别可以与变频器、人机界面(HMI)等设备通信,每个端口支持4个HMI设备。 RS-485每个网络最多可以有126个节点。中继器用来将网络分段,每个网段最多32个设备,网络中各设备的地址不能重叠。12Mbit/s时最大传输距离为100m,187.5kbit/s时为1000m。 4.网络连接器 终端电阻可吸收网络上的反射波,有效地增强信号强度。网络终端的连接器上的开关应放在On位置(接入终端电阻),网络中间的连接器上的开关应放在Off位置。 5.网络中继器 中继器用来将网络分段,每个网段最多32个设备,中继器可扩展网络长度。 6.3.3 串行通信协议与自由端口模式通信 1.PPI协议 点对点接口(PPI)协议是基于字符的异步通信协议, 只能用于RS-485。 PPI是一种主站-从站协议,HMI是通信主站,S7-200 SMART作为从站。用系统块来设置端口0和端口1的网络地址和波特率,应将系统块下载到CPU。 2.用于与变频器通信的USS协议 PLC通过通信来监控变频器,可以连续地对多台变频器进行监视和控制。 USS通信协议用于S7 PLC与西门子变频器之间的通信。通信网络由PLC和变频器内置的RS-485通信端口和双绞线组成,一台S7-200 CPU最多可以监控31台变频器。 在通信中,PLC作为主站,变频器作为从站。在使用Modbus协议或USS协议之前,需要安装西门子的指令库。USS_INIT指令用于初始化或改变USS的通信参数,USS _CTRL指令用于监控处于激活状态的变频器。 可以用指令来读取和改写变频器的参数。 3.自由端口模式通信 在自由端口模式,CPU的串行通信由用户程序控制,可以用接收完成中断、字符接收中断、发送完成中断、发送指令和接收指令来控制通信过程。 CPU处于STOP模式时,自由端口模式被禁止,CPU可以通过PPI协议与编程设备通信。只有当CPU处于RUN模式时,才能使用自由端口模式。 发送指令XMT最多可以发送255个字符的数据缓冲区中的数据。发送结束时可以产生中断事件。接收指令RCV最多可以接收255个字符。在接收完最后一个字符(或每接收一个字符)时,可以产生一个中断。 为了避免通信中的各方争用通信线,一般采用主从方式,只有主站才有权主动发送请求报文,从站接收到后返回响应报文。 可以使用异或校验或求和校验来提高通信的可靠性。 6.4 Modbus协议通信 6.4.1 Modbus 通信协议 Modbus串行链路协议是主-从协议,有一个主站,1~247个子站。RTU模式用循环冗余校验(CRC)进行错误检查,一条消息最多256B。通信端口被Modbus通信占用时,不能用于其他用途。 6.4.2 Modbus RTU从站协议通信的编程 用S7-200 SMART作Modbus从站,其程序见图6-18。其V存储区(保持寄存器)的起始地址HoldStart为VB200,库存储区的起始地址为VB2200。3个Max参数是主站可访问的I、Q和保持寄存器的最大个数。 1.MBUS_INIT指令 首次扫描时执行一次MBUS_INIT指令,初始化Modbus从站协议。设置从站地址为1,端口0的波特率为19200bit/s,无奇偶校验

我要回帖

更多关于 西门子位逻辑指令有哪些 的文章

 

随机推荐