采用梯形图的方式对多个程序进行编写。图6-32 填入“PRO1”2.编写低速执行型程序在工程名为“TEST”的程序中新增程序名为“PRO2”的低速执行型程序,如图6-33所示。该程序要实现的功能是,将“PRO1”、“PRO2”、“PRO3”中使用的寄存器初始化。程序注意,“”内区分输入文字的大小写。......
2023-06-16
1.对PZD(过程数据)的读写
1)在STEP7中对PZD(过程数据)读写参数时调用SFC14和SFC15;
2)SFC14(“DPRD_DAT”)用于读Profibus从站(MM440)的数据;
3)SFC15(“DPWR_DAT”)用于将数据写入Profibus从站(MM440);
4)硬件组态时PZD的起始地址:W#16#108(即264)。
(1)建立数据块DB1
如图13-15所示,将数据块中的数据地址与从站(MM440)中的PZD、PKW数据区相对应。
图13-15 建立DB1
(2)数据分配
如图13-16所示,在OB1中调用特殊功能块SFC14和SFC15,完成从站(MM440)数据的读和写。
图13-16 调用SFC14和SFC15
在图13-16中,LADDR表示硬件组态时PZD的起始地址(W#16#108即264);RE-CORD表示数据块(DB1)中定义的PZD数据区相对应的数据地址;RET_VAL表示程序块的状态字,可以以编码的形式反映出程序的错误等状态。
1)W#16#108(即263)是硬件组态时PZD的起始地址
2)将从站数据读入DB1.DBX8.0开始的4个字节(P#DB1.DBX8.0 BYTE 4)
PZD1→DB1.DBW8(状态字)
PZD2→DB1.DBW10(实际速度)
3)将DB1.DBX20.0开始的4个字节写入从站(P#DB1.DBX20.0 BYTE 4)
DB1.DBW20→PZD1(控制字)
DB1.DBW22→PZD2(给定速度)
(3)控制实现
如图13-17所示,在本例中设定值和控制字可以从数据块DB1中传送,DB1.DBW20设为047E再变为047F后DB1.DBW22中的频率值将输出;状态字和实际值可从DB1.DBW8,DB1.DBW10读出。
图13-17 控制实现的程序
1)控制命令W#16#47F(含义见表13-5),启动变频器运行。
表13-5 MM440变频器PROFIBUS-DP通信控制字定义
(续)
2)给定速度5000含义是500.0r/min。
2.对PKW(参数区)读写
(1)数据传送规则
对PKW区数据的访问是同步通信,即发一条信息,得到返回值后才能发第二条信息。PKW一般为4个字,定义如下:
A为常用值:1、2、3、6、7、8。
其中1:读请求(无数据分组);2:写请求(无数据分组、单字);3:写请求(无数据分组、双字);6:读请求(有数据分组);7:写请求(有数据分组、单字);8:写请求(有数据分组、双字)。
PNU为参数号:当读写0002~1999的参数时,直接将数值转换为十六进制即可;当读写2000~3999的参数时,将数值减去2000再转换为十六进制。
B为数据分组编号,常用值为0、1、2。
C为参数选择位,常用值为0、8。当读写0002~1999的参数时,该位为0;当读写2000~3999的参数时,该位为8。
(2)应用举例(如图13-18所示)
1)在Step7中对PKW(参数区)读写参数时同样调用SFC14和SFC15;
2)SFC14(“DPRD_DAT”)用于读PROFIBUS从站的数据;
3)SFC15(“DPWR_DAT”)用于将数据写入PROFIBUS从站;
4)硬件组态时PKW的起始地址:W#16#100(即256)。
图13-18 应用举例
在图13-18中,具体的参数解释如下:
1)W#16#100(即256)是硬件组态时PKW的起始地址。
2)将从站数据读入DB1.DBX0.0开始的8个字节(P#DB1.DBX0.0 BYTE 8)。
PKE→DB1.DBW0
IND→DB1.DBW2
PWE1→DB1.DBW4参数值的高字位
PWE2→DB1.DBW6参数值的低字位
3)将DB1.DBX12.0开始的8个字节写入从站(P#DB1.DBX20.0 BYTE 8)。
DB1.DBW12→PKE
DB1.DBW14→IND
参数值的高字位DB1.DBW16→PWE1
参数值的低字位DB1.DBW18→PWE2
3.参数读写总结
(1)读写0002~1999的参数
1)如读P0700,700=2BC(HEX):
2)如读P1082,1082=43A(HEX):
3)如写P1082,1082=43A(HEX):
(2)读写2000~3999的参数
如读P2010,10=A(HEX):
4.MM440变频器PROFIBUS-DP通信状态字定义
表13-6为MM440变频器PROFIBUS-DP通信状态字定义。
表13-6 MM440变频器PROFIBUS-DP通信状态字定义
5.MM440变频器通信编程指令的选择
图13-19所示为MM4系列变频器(包括MM440)的所有组态类型,这些组态类型的不同,其含义也不同,所对应的编程语言也有所区别。具体如下:
图13-19 MM4系列变频器的硬件组态类型
(1)Standard Telegram 1
标准报文1:2个字输出/2个字输入,用MOVE指令(L/T指令)编程。
(2)4 PKW,2 PZD(PPO1)
PPO1,4个字参数数据,用SFC14/15编程;2个字过程数据,用MOVE指令(L/T指令)编程。
(3)0 PKW,2 PZD(PPO 3)
PPO3,没有参数数据,2个字过程数据,用MOVE指令(L/T指令)编程。
(4)4 PKW,4 PZD whole cons
4个字参数数据,用SFC14/15编程;4个字过程数据,整体连续,用SFC14/15编程。
(5)4 PKW,4 PZD word cons
4个字参数数据,用SFC14/15编程;4个字过程数据,字连续,用MOVE指令编程。
(6)0 PKW,4 PZD whole cons
没有参数数据;4个字过程数据,整体连续,用SFC14/15编程。
(7)0 PKW,4 PZD word cons
没有参数数据;4个字过程数据,字连续,用MOVE指令(L/T指令)编程。
(8)MM430/440 only:PZD>4
仅对MM430/440:PZD大于4个字。
(9)4 PKW,6 PZD(PPO2)
PPO2,4个字参数数据,用SFC14/15编程;6个字过程数据,用SFC14/15编程。
(10)4 PKW,6 PZD word cons
4个字参数数据,用SFC14/15编程;6个字过程数据,字连续,用MOVE指令编程。
(11)0 PKW,6 PZD(PPO4)
PPO4,没有参数数据;6个字过程数据,用SFC14/15编程。
(12)0 PKW,6 PZD word cons
没有参数数据;6个字过程数据,字连续,用MOVE指令(L/T指令)编程。
(13)4 PKW,8 PZD whole cons
4个字参数数据,用SFC14/15编程;8个字过程数据,整体连续,用SFC14/15编程。
(14)4 PKW,8 PZD word cons
4个字参数数据,用SFC14/15编程;8个字过程数据,字连续,用MOVE指令(L/T指令)编程。
(15)0 PKW,8 PZD whole cons
没有参数数据;8个字过程数据,整体连续,用SFC14/15编程。
(16)0 PKW,8 PZD word cons
没有参数数据;8个字过程数据,字连续,用MOVE指令(L/T指令)编程。
采用梯形图的方式对多个程序进行编写。图6-32 填入“PRO1”2.编写低速执行型程序在工程名为“TEST”的程序中新增程序名为“PRO2”的低速执行型程序,如图6-33所示。该程序要实现的功能是,将“PRO1”、“PRO2”、“PRO3”中使用的寄存器初始化。程序注意,“”内区分输入文字的大小写。......
2023-06-16
本设计中源程序的编写与调试是在Keil C51集成环境uVision中进行。并且Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。首先建立一个新的工程,单击菜单project,选择new project,输入工程文件的名字,如保存到keil目录里,工程文件的名字为Chongdiangi.c,单击保存。在Source Group 1里就有Chongdiangi.c文件。图17-7 程序编译成功界面......
2023-11-04
根据西门子S7通信的经验,即“当字长不大于2”或选择“以字为单位传送”时,用MOVE指令编程;当字长大于2且选择“所有字一起传送”时,用SFC14/15编程”。由于从这里的组态中可以看出“输入/输出各占四个字节”,可以使用两次MOVE指令。鉴于通信程序简单,程序可以直接编写在OB1中。图13-51 编程MOVE指令1)传送到变频器驱动装置的第1个字是控制字。当MW2=0100 0000 0000 0000 B=4000 H=16384(十进制)时,相当于50Hz。......
2023-06-18
图6-6 计数并显示1)新建一个梯形图,将蓝色的光标放在梯形图左母线的右边,单击工具栏的按钮,跳出梯形图输入窗口,输入“SM411”,单击“确定”按钮,如图6-7所示。图6-16 输入“mov k2000 u0\g1”3)单击工具栏按钮,在梯形图中划出并联支线,如图6-17所示。图6-19 输入“rst y9”6)键盘输入指令代码“ld x10”,单击“确定”按钮,梯形图显示X10的常开触点。......
2023-06-16
下面用一个实例来介绍如何组建多CPU系统,以及如何利用CPU间的自动刷新功能进行数据的传送。图10-11 多CPU系统的自动刷新示意图PLC顺序控制CPU侧的设置如下:1)图10-12所示为设置M软元件的自动刷新范围。运动控制CPU侧的设置如下:打开运动控制CPU对应的程序编写软件MT Developer,进入多CPU设置画面,进行相应的设置。当Q02HCPU的M3为ON时,退出SFC程序。......
2023-06-16
PLC在运行监控过程中,可对CPU中的程序进行在线修改。例如将上述程序计数器C0的设定值由K0修改为K100。图6-79 软元件测试1)单击工具栏的按钮。出现如图6-80所示对话框后,单击“确定”按钮,进入监控(写入)模式。图6-81 将显示值更改为“C0 K10”图6-82 执行运行中的写入操作图6-83 修改C0计数器的范围6)由监控模式进入写入模式时,如果要对编辑修改过的程序进行转换,则有可能会出现修改的梯形图无法转换的问题。图6-84 “变换后,不写入PLC”选项......
2023-06-16
在编写用户子程序UMAT或VUMAT时,以下几点是需要特别关注的:遵循Fortran、C或C++的语法规则。如果需要,也可以使用ABAQUS提供的实用子程序Utility,可方便快捷地达到计算需求。注意:UMAT是在每个材料点上被调用的,而VUMAT的一次调用会计算很多个积分点上的变量,nblock的具体数值与计算机相关,一般个人主机是136,这里涉及ABAQUS的显式程序Explicit的并行计算。因此,在写VUMAT时,需要注意每次更新nblock个积分点的应力。将测试结果和解析解进行比较。......
2023-11-03
确认后,在程序编写区出现线圈符号,符号内的“T2 K200”表示T2线圈是一个延时动作线圈,延迟时间为0.1s×200=20s。若需要对程序内容时进行编辑,可用鼠标选中要操作的对象,再执行“编辑”菜单下的各种命令,就可以对程序进行复制、粘贴、删除、插入等操作。......
2023-06-15
相关推荐