电动机功率 | 3kW | 外形尺寸 | 4mm |
---|---|---|---|
应用领域 | 环保,食品/农产品,地矿,包装/造纸/印刷,纺织/印染 | 重量 | 5kg |
西门子数控系统显示300608伺服故障维修,西门子数控系统维修,数控系统伺服驱动器维修,数控系统伺服电机维修,西门子802DSL面板维修,按键操作失灵维修,花屏维修,黑屏维修,无显示维修,西门子整流单元维修,西门子数控系统显示300608伺服故障维修,西门子802DSL数控系统维修,数控系统报25201伺服故障维修,数控系统接地故障维修。
![]() |
参考价 | ¥322 |
订货量 | 1 |
更新时间:2019-07-04 15:22:16浏览次数:563
联系我们时请说明是化工仪器网上看到的信息,谢谢!
西门子NCU开机面板灯不停的闪维修
S7基本通信服务通过调用系统功能(SFC)和不需组态的S7连接进行数据交换,只能用于同一个MPI子网内的通信,多可以发送76B的数据。S7基本通信的SFC集成在操作系统中。
不用在组态时为S7基本通信建立连接,在用户程序调用SFC 65~SFC 68时连接被自动建立。可以在调用SFC时通过设置参数来决定完成数据传输后该连接是继续保持或终止。在同一时刻,多可与通信伙伴建立一个这样的连接。可以先后访问的通信伙伴的数量不受可用连接资源的限制。每次块调用只能传输1个变量(一个地址区)。
初始化了数据传输的CPU进入STOP模式时,所有已建立的连接被终止。
I_GET( SFC 72)与I_PUT( SFC 73)用于CPU与同一个S7站的其他有通信功能的模块之间交换数据。SFC名称前面的“I”表示内部。
X_SEND( SFC 65)、XRCV( SFC 66)、X_GET( SFC 67)与X_PUT( SFC 68)用于CPU和同一个MPI子网络中的其他有通信功能的模块之间交换数据。SFC名称前面的“X”表示外部。
所有的S7-300/400 CPU都可以执行这些SFC,以进行S7基本通信。S7-300/400 CPU还可以用X_GET和X_PUT访问S7- 200 CPU中的数据。S7-200在S7基本通信中只能用作服务器,因此不用编写S7-200的通信程序。
1.全局数据通信
通过全局数据( Global data,GD)通信,同一个MPI子网中多15台S7-300/400和C7之间可以周期性地相互交换少量的数据。每个CPU都可以访问其他CPU的过程输入、过程输出、标志位(M)、定时器、计数器和数据块中的数据。
全局数据通信使用CPU的MPI接口,不需要增加通信硬件,对CPU也没有特殊的要求,因此这是一种经济而有效的通信方式,但是只能传送少量的数据。
全局数据通信采用广播方式来传输数据,数据的接收没有确认信息。全局数据通信不能保证通信数据的完整性和准确性。
只需要在STEP 7的网络组态工具NetPro中用全局数据表对全局数据通信组态,设置各CPU之间需要交换的数据存放的地址区和通信的速率等参数,运行时CPU的操作系统就可以实现周期性的全局数据交换,不需要用户对全局数据通信编程。
2.全局数据的结构
(1)全局数据环
参与收发全局数据包的CPU组成了全局数据环(GD Circle)。CPU可以向同一个环中的其他CPU发送数据或接收数据。在一个MPI网络中,多可以建立16个GD环。每个GD环多允许15个CPU参与全局数据交换。
(2)全局数据包
同一个全局数据环中具有相同的发送者和接收者的全局数据组成一个全局数据包( GD Packet)。GD包和GD包中的数据均有编号,例如GD1.2.3是1号GD环的2号GD包中的3号数据。每个全局数据占全局数据表中的一行。
(3) CPU的全局数据功能
S7-300 CPU可以发送和接收的GD包的个数(4个或8个)与CPU的型号有关,每个GD包多22B数据。
S7-400 CPU可以发送和接收的GD包的个数与CPU的型号有关,可以发送8个或16个GD包,接收16个或32个GD包,S7- 400之间每个GD包多54B数据。S7-400 CPU具有对全局数据交换的控制功能,支持事件驱动的数据传送方式。
3.生成和填写GD表
用鼠标右键点击NetPro中的MPI网络线,执行弹出的快捷菜单中的“定义全局数据”命令。在出现的GD表对话框(见图7-14)中对全局数据通信进行组态。
双击“GD ID”(GD标识符)所在单元右边的灰色单元,在出现的“选择CPU”对话框中,双击CPU 413-1的图标,CPU 413-1便出现在全局数据表上面一行的方格中(见图7-14),同时自动退出“选择CPU”对话框。用同样的方法将另外两个CPU放置在上面一行。
在CPU下面一行生成1号GD环1号GD包中的1号数据,将CPU 413-1的IW0发送到CPU 313C的QW0。
首先用鼠标右键点击CPU 413-1下面的单元(方格),执行出现的快捷菜单中的“发送器”命令,该方格变为深色,同时在单元的左端出现符号“>”,表示在该行中CPU 413-1为发送站,在该单元中输入要发送的全局数据的地址IW0。只能输入地址,不能输入符号地址。包含定时器和计数器地址的单元只能作为发送方。在每一行中应定义一个并且只能有一个CPU作为数据的发送方。同一行中各个单元接收或发送的字节数应相同。
用鼠标左键选中CPU 313C下面的单元,直接输入QW0,该单元的背景为白色,表示在该行中CPU 313C是接收站。
变量的复制因子用来定义连续的数据区的长度,例如MB20:10表示从MB20开始的10B。S7-300的数据包大22B,MB0:22表示从MB0开始的22B,MW0:11表示从MW0开始的11个字。如果数据包由若干个连续的数据区组成,一个连续的数据区占用的空间为数据区内的字节数加上两个头部说明字节。一个单独的双字占6B,一个单独的字占4B,一个单独的字节占3B,一个单独的位也占3B。值得注意的是*个连续数据区的两个头部说明字节不包括在22B之内。例如DB2. DBB0:10和QW0:5一共占用22B。
在图7-14的第1行和第2行中,CPU 413-1和CPU 313C组成1号GD环,两个CPU分别向对方发送GD包,同时接收对方的GD包,相当于全双工点对点通信方式。
图7-14中的第3行是CPU 413-1向CPU 313C和CPU 312C发送GD包,相当于1:N的广播通信方式。
图7-14中的第4行和第5行都是CPU 312C向CPU 413-1发送数据,它们是3号GD环1号GD包中的两个全局数据。
发送方CPU自动地周期性地将地址中的数据发送到接收方的地址区中。例如图7-14中的第5行意味着CPU 312C定时地将QW0~QW4中的数据发送到CPU 413-1的MB30~MB39。CPU 413-1对它自己的MB30~ MB39的访问,就好像在访问CPU 312C的QW0~QW4一样。
完成全局数据表的输入后,应点击工具条中的按钮,对它进行*次编译,将各单元中的变量组合为GD包,同时生成GD环。图7-14中的“GD ID”列中的GD标识符是在编译时自动生成的。
4.设置扫描速率和状态双字的地址
扫描速率用来定义CPU刷新全局数据的时间间隔。在*次编译后,执行菜单命令“查看”→“扫描速率”,每个数据包将增加标有“SR”的行(见图7-15),用来设置该数据包的扫描速率(1~ 255),扫描速率的单位是CPU的循环扫描周期,S7-300默认的扫描速率为8,S7-400的为22,用户可以修改默认的扫描速率。如果选择S7- 400的扫描速率为0,表示是事件驱动的GD数据传输。扫描速率如果过快,可能造成通信中断。
可以用GD数据传输的状态双字来检查数据是否被正确地传送,*次编译后执行菜单命令“查看”→“GD状态”,在出现的GDS行中可以给每个数据包一个用于状态双字的地址。上面一行的全局状态双字GST是各GDS行中的状态双字相“或”的结果。状态双字中使用的各位的意义可查阅有关的手册,被置位的位将保持其状态不变,直到它被用户程序复位。
状态双字使用户程序能及时了解通信的有效性和实时性,增强了系统的故障诊断能力。
设置好扫描速率和状态双字的地址后,应对全局数据表进行第二次编译,使扫描速率和状态双字地址包含在组态数据中。
5.下载与运行
第二次编译完成后,需要将组态好的信息下载到各CPU。比较方便的是使用计算机上安装的网卡(例如CP 5611或CP 5613),通过MPI网络下载和监控通信过程。
首先分别单独下载各CPU的MPI地址。然后用MPI电缆连接编程用的计算机和3台PLC的MPI接口,令各台PLC均处于STOP模式。点击按钮,可以在下载对话框中选择下载到所有CPU,或只下载到选中的CPU。
下载完成后将各CPU切换到RUN模式,各CPU之间将开始自动地交换全局数据。由图7-14可知,CPU 413-1和CPU 313C的IW0分别控制对方的QW0,运行时改变某台PLC输入点的状态,观察对方对应的输出点是否随之而变。
在运行时同时打开各个站的变量表,调节它们的大小后,可以在屏幕上同时显示各变量表中的动态数据。用变量表改变发送站发送的变量的值,观察接收站对应的地址区中的变量的值是否随之而变。也可以在OB35中编写简单的程序,使发送的数据不断地动态变化,观察数据传输的动态效果。
6.通信错误组织块OB87
在使用通信功能块或全局数据( GD)通信进行数据交换时,如果出现下列通信错误,操作系统将调用OB87:
1)接收全局数据时,检测到错误的帧标识符(ID)。
2)全局数据通信的状态信息数据块不存在或太短。
3)接收到非法的全局数据包编号。
如果没有生成和下载OB87,CPLT将切换到STOP状态。
7.事件驱动的全局数据通信
使用SFC 60“GD_SEND”和SFC 61“GD_RCV”,S7-400之间可以用事件驱动的方式发送和接收GD包,实现全局通信。在全局数据表中,必须对要传送的GD包组态,并将GD列的扫描速率设置为0。
为了保证全局数据交换的连续性,在调用SFC 60之前应调用SFC 39“DIS_IRT”或SFC 41“DIS_AIRT”来禁止或延迟更高级的中断和异步错误。SFC 60执行完后调用SFC 40“EN_IRT”或SFC 42“EN_AIRT”,允许处理高优先级的中断和异步错误。下面是用SFC 60发送数据包GD3.1的程序。
程序段1:延迟处理高中断优先级的中断和异步错误
CALL“DIS_AIRT” //调用SFC 41,延迟处理高中断优先级的中断和异步错误
RET_VAL := MW100 11返回的错误信息
程序段2:发送全局数据包GD 3. 1
A I 0.0
FP M 1.0
JNB _001 //不是I0.0的上升沿则跳转
CALL “GD_SND” //调用SFC 60
CIRCLE_ID :=B#16#3 //GD环编号,允许值为1~16
BLOCK_ID :=B#16#1 //GD包编号,允许值为1~4
RET_VAL :=MW102 //返回的错误信息
_001:NOP 0
程序段3:允许处理高中断优先级的中断和异步错误
CALL“EN_AIRT" //调用SFC 42,允许处理高中断优先级的中断和异步错误
RET_VAL := MW104 //返回的错误信息
CIRCLE_ID和BLOCK_ID分别是要发送的全局数据包的GD环和GD包的编号,允许的取值范围可以查阅CPU的技术数据。上述编号是用STEP 7组态GD数据表时设置的。
RET_VAL是返回的错误信息,错误信息代码可以查阅有关的手册。
西门子NCU开机面板灯不停的闪维修