产品描述
西门子伺服电机1FL6064-1AC61-2AA1
在西门子PLC程序中,为了进行数学运算、设定定时器时间、设定计数器计数值等,需要使用各种数据。
程序中的各种数据(如常数、十六进制数、浮点数、时间、数组等)都必须是PLC所允许的类型与可识别的格式,即:PLC对数据有“类型”与“格式”两方面的要求。
西门子S7系列PLC根据数据的字长,允许使用的类型有基本数据、复合数据、参数三大类。
1.基本数据
基本数据是指字长在2个字(32位)以下的数据,包括二进制位( bit)、字节(Byte)、字(Word)、双字( Double Word),ASCII字符、整数(Integer)、双字长整数(Double Integer)等,这些数据符合IEC 1131-3的规定。
基本数据在PLC存储器中有固定的长度。如:二进制位为l位,字节为8位,字为16位,双字为32位等。
当PLC使用符号地址时,在符号表或地址声明表的“类型(Type)”栏必须填写数据的“类型代号”,以明确所使用数据的格式与所占的字长。
在S7系列PLC中,基本数据的数据类型代号与输入范围如表8-5.1所示。
表中所说的ASCII(American Strand Code for Inbbbbation Interchange,美国标准信息交换编码)是利用7位二进制(00~7F)来代表1个字符的*普遍的编码方式,常用于串行通信。7位二进制(00~7F)与字符的对应关系见表8-5.2。S7可以使用的代码范围为31~7E,“DEL”(代码7F)不可以使用。
2.复合数据
复合数据是指字长大于2个字(32位)的数据,数据可以通过基本数据组合而成。S7可以使用的复合数据包括以下几类:
①数组:所谓数组(类型代号ARRAY),是将同类型的基本数据进行组合而形成的单元数据,如表格数据等。
②结构:所谓结构( STRUCT),是将不同类型的基本数据进行组合而形成的单元数据。
③字符串:所谓字符串(bbbbbb),是多个相同或不同字符(如ASCII码)的组合。字符串的默认长度为256字节,其中2字节用于存放字头,实际字符*大可以到254个。
④日期与时间:日期与时间( DATE-AND-TIME)用于存储实时时间,格式为年.月,日一时一分.秒:占用4个字长(8个字节),使用BCD码。其中,年、月、日、时、分、秒各为2位(占1个字节):毫秒为3位(占1.5个字节)。
例如,2006年11月15日8点30分58秒的存储格式为:06-11-15-08: 30: 58.000。
⑤用户定义数据:编程人员可以将S7的以上各种数据类型进行重新组合,生成新的数据类型,这一数据类型称为“用户定义数据( User Defined Data Types)”,数据类型代号为UDT。
3.参数
在SIEMENS公司的S7系列PLC中,在逻辑块之间进行相互传递的数据称为参数。S7的参数分为“形式参数”与“实际参数”两类。
在结构化编程时,为了使得某功能块能够成为可以在同- PLC循环内多次调用的通用功能块,功能块中所使用的信号与数据不可以是“绝对地址”或“绝对数值”,它们只能以“符号地址”或“符号数据”的形式出现。调用通用功能块时,可以通过对这些“符号地址”或“符号数据”的不同赋值,在每次调用同一功能块时,得到不同的结果。www..cn
被调用的功能块中所使用的“符号”称为形式参数(bbbbat bbbbbeter),而在调用块中对“符号”所赋予的实际地址或实际数值称为实际参数(Actual bbbbbeter)。
如图8-5.1所示,图中的start、stop、run为形式参数,而IO.1、I0.2、QO.1则为实际参数。
在每次调用功能块前,必须用实际参数对块中所使用的形式参数赋值。实际参数与形式参数的数据类型必须一致,例如,当功能块中的形式参数定义的数据类型为“字( Word)”时,则赋值的实际参数必须为字格式,如MWO、IWO、QWO等,而不能用MO.1、IO.1、QO.1或MBO、IBO、O等进行赋值。
S7-1200 PLC 编程
• 在Program blocks 下,添加程序块(DB1,DB2,DB3),其中DB1和DB3为符号DB(选择 Symbolic access only),DB2为地址DB(不选择 Symbolic access only) , S7 通信只支持地址DB 寻址通信;
图5: 创建地址DB2
• 打开全局DB2,输入2个数组类型数据,每个数组有16 个元素;
图6: 在DB2中添加数据
• 创建两个监视表格(监视表格_1, 监视表格_2) 用来观察DB2的实时状态;
• 将程序下载到PLC CPU1214C 中。
4. 3 S7-300 配置
使用STEP 7 创建 SIMATIC 300 Station。
• 在硬件组态中添加CPU 319-3 PN/DP,设置IP地址 192.168.0.8;
图7: 硬件组态
• 在网络组态中(NetPro)中创建S7连接,首先在打开的NetPro中点击 SIMATIC 300 (1) 机架的“CPU 319-3PN/DP”处;
图8: 在NetPro中选择相应的机架
• 创建连接一个与“Unspecified”的S7 连接,点击“OK”;
图9: 添加S7连接
• 在相应的输入通信伙伴的IP地址192.168.0.18,点击“Address Details…”;
图10:输入通信伙伴IP地址 ;
• 在Address Details 对话框中,将通信伙伴的槽号改为1,确认其TSAP 为03.01,点击“OK”,之后,可以将所建立硬件组态和网络连接编译并下载到PLC 中。
图11:设置通信伙伴机架和槽号 ;
4. 4 S7-300 PLC 编程
• 在STEP 7 Blocks 中创建写数据DB1 ( put data)和读数据DB3 (get data)数据块;
图12: DB1和DB2;
• 打开主程序OB1,分别在Network1和Network2中添加指令FB14 GET和 FB15 PUT,并为其添加背景数据块DB14和DB15 ;
图13: 选择单边通信指令;
注意:
在选择指令时,要根据使用的产品来确定。如果采用CPU集成的以太网接口建立S7 通信,要采用左侧的指令;如果采用CP 以太网卡建立S7通信,要采用右侧的指令。
图14:在OB1中调用FB14 ;
图15:在OB1中调用FB15 ;
• 创建变量表VAT_1监视写数据操作(PUT);
图16:变量表VAT_1 ;
• 创建变量表VAT_2监视读数据操作(GET);
图17:变量表VAT_2 ;
5.调试 S7-1200 与S7-300 PLC 通信
• 从S7-300 程序中可知,在M1.0 从0变为1时,读取S7-1200的数据DB2.DBB0~DB2.DBB15 到S7-300 DB3.DBB0~ DB3.DBB15中;
图18:S7-300调用GET函数读取S7-1200数据
• 从S7-300 程序中可知,在M5.0 从0变为1时,将S7-300的数据DB1.DBB0~ DB1.DBB15 写入S7-1200 的DB2.DBB16~DB2.DBB31中;
图19:S7-300调用PUT函数写入S7-1200数据
6.总结
在使用S7-300与S7-1200 建立S7 通信时,所能建立的大连接数和通信任务是与S7-300产品的型号相关,如:CPU319-3 PN/DP ,大可组态的连接数为16,可建立大通信任务为32(也就是可调用的通信指令的背景数据的总数),每个作业的用户数据大值与所使用的块类型和通信伙伴有关,PUT 为212 个字节,GET为222个字节
产品推荐