[VIP专享]通用版-PLC-西门子CP443-1以太网模块
- 格式:pdf
- 大小:143.91 KB
- 文档页数:7
设备驱动任务文档提出人:()用户信息:(包括用户单位、用户姓名、联系方式。
如果是销售人员联系而暂无用户信息,列出相关销售人员的联系方式)用户单位:联系人:联系方式:资料描述:设备一套,说明书一份需求描述:开发通用版-PLC-西门子CP443-1以太网模块驱动。
开始时间:9月01日完成时间:9月14日工作量表:开发160 测试40任务名称预计工作量执行人实际工作量评审人分析文档编程文档文档检查编写代码、自测帮助代码检查测试开发实际工作量测试实际工作量设备驱动分析文档分析人审核人开始时间结束时间一、设备介绍(是什么类型的仪表或PLC等,有怎样的IO通道):CP443-1以太网模块是将SIEMENS S7-400系列PLC 连接在以太网上的通讯模块,实现PLC之间或者与PC机通过TCP/IP协议高速交换数据的功能。
二、通讯参数设置:(如果是采集板卡,则表述板基地址设定、各种跳线设定及意义)与设备构件通讯所必需的设备IP地址等信息是在SIEMENS STEP7编程软件中设置的。
详细的设置方法将在帮助文档中描述。
三、硬件接线:将CP443-1模块插到S7-400机加插槽上,用普通对调网线连接PC网卡和CP443-1模块RJ45接口,就完成了CP243-1硬件接线工作。
四、设备操作模式及存储器结构(设备简单操作说明,例如如何在设备中设置通讯参数,及简单的设定显示操作):S7-400包含4种寄存器:I—输入寄存器;Q—输出寄存器;M—中间寄存器;V—数据寄存器。
I、Q、M三种寄存器按位读写,V寄存器可以选择字节、字、双字三种方式读写。
五、通讯协议分析:A.通讯初始化:进行读写操作之前,要依次发送如下8个串,进行通讯初始化工作。
注意:以下返回帧内容可能会和实际通讯过程中有差异,不过重点在与下发帧,返回帧差异可以忽略发送1:0300001611E00000000100C1020100C2020103C00109返回1:0300001611D00001443100C00109C1020100C2020103注:带下划线的红色03字节表示当前CPU单元所处的槽号发送2:0300001902F08032010000020000080000F0000001000101E0返回2:0300001F02F080320300000200000800000000F0000001000101E0发送3:0300002102F080320700000300000800080001120411440100FF09000401320004返回3:0300005102F080320700000300000C0034000112081284010900000000FF09003001320004002800010004 0001000000010003000000005656AC00B3CC44007D0A00000000000000000000000000000000发送4:0300002102F080320700000400000800080001120411440100FF09000401310002返回4:0300005102F080320700000400000C0034000112081284010A00000000FF090030013100020028000100 02BEFF070000000002040000003802020000007D1000050710000001E000220040000000110000发送5:0300002102F080320700000500000800080001120411440100FF09000401110001返回5:0300004502F080320700000500000C0028000112081284010B00000000FF09002401110001001C000100 0136455337203431322D32584730302D30414230200082001B0000发送6:0300002102F080320700000600000800080001120411440100FF09000404240000返回6:0300003D02F080320700000600000C0020000112081284010C00000000FF09001C042400000014000153 0DFF04C7770061080307009401122340021874发送7:0300002702F0803207000007000008000E0001120411440200FF09000A01003030306430316561返回7:0300002302F080320700000700000C000600011208128402FF00000000FF0900020000发送8:0300003D02F080320700000800000C0020000112081241100000000000FF09001C001400040000000000 01000000010001000100010001000000000000返回8:0300002902F080320700000800000C000C000112081281100900000000FF0900080004000001000001B.Q、M、V寄存器开关量写操作:M单通道写:发送:0300004702F08032070000C009000C002A000112081241080000000000FF0900260014000E00000000000100040001000100010001000100000001+reg+bitPos+0000+addr1+00090001+val1+00返回:Q单通道写:发送:0300004702F080320700006906000C002A000112081241080000000000FF0900260014000E00000000000100040001000100010001000100000001+reg+bitPos+0000+addr1+00090001+val1+00返回:V(84)写操作:1.字节读写:写:发送:0300004702F08032070000AB0B000C002A000112081241080000000000FF0900260014000E0000000000010004 0001000100010001000100000001+reg+01+blockNumber+addr1+00090001+val3+00注意:写字节时reg为71返回:2.字读写:写:发送:0300004702F080320700008F00000C002A000112081241080000000000FF0900260014000E0000000000010004 0001000100010001000100000001+reg+01+blockNumber+addr1+00090002+val2注意:写字时reg为72返回:3.双字读写:写:发送:0300004902F08032070000EA00000C002C000112081241080000000000FF090028001400100000000000010004 0001000100010001000100000001+reg+01+blockNumber+addr1+00090004+val4注意:写双字时reg为73返回:C.I、Q、M、V寄存器按字节读操作:读:发送:0300004102F080320700000B00000C0024000112081241020000000000FF0900200014000800000000000100+ preDataLen+0001000100010001000100000001+reg+len1+blockNumber+addr1返回:reg: 寄存器类型码,I:11(读)10(写)、Q:21(读)20(写)、M:01(读)00(写)、V:71(读)。
(1byte)(因V寄存器的写要单独处理,不在此列出)bitPos:位操作时,当前操作的位在本字节中的位置,有效取值范围00-07。
(1byte)blockNumber:DB块号,只有V寄存器才有此字段,其余寄存器为0000。
(2byte)preDataLen:读命令时此字段的值为len1+6,结果如果是奇数则再加上1。
(1byte)addr1: 寄存器地址,计算方法:通道地址,以字节计算。
(2byte)val1:寄存器值,00、01 。
(1byte)val2:寄存器值,0000~FFFF。
(2byte)val3:寄存器值,00~FF。
(1byte)val4:寄存器值,00000000~FFFFFFFF。
(4byte)len1: 连续读取寄存器的个数(以字节计)。
(1byte)审核人审阅意见分析实际工作量设备驱动编程文档程序员审核人开始时间结束时间需求分析:1、读写各寄存器数据:I寄存器实现按位读,Q、M寄存器实现按位读写。
V寄存器分别实现读写一个字节、二个字节、四个字节的BCD码和二进制数,及四个字节浮点数。
功能设计:1、通道设计动态生成通道2、设备命令1)读数据:Read(寄存器名称+地址=DATA)2)写数据:Write(寄存器名称+地址=DATA)实现的方法:拷入最相近的驱动代码名称CP243_1以太网通讯模块通用版代码新增加的函数(列出函数名,参数定义,功能等,可以从代码中拷出)修改的函数流程图(采集函数和命令函数):编程中遇到的问题(遇到的技术难点及如何解决的,有特点的,需要注意的其他问题):1,编程中遇到的主要问题是TCP/IP通讯协议未知,需要截获分析通讯协议。
为了使连接保持稳定,在发送命令的函数中作了一些重发和重新初始化的处理。
另外考虑TCP/IP连接可能中断,所以在采集函数失败退出的代码段中增加调用TcpipReconnect()函数的操作,重建Tcpip连接。
测试要点:审核人审阅意见完成代码调试和自测后填写文档程序员审核人开始时间结束时间编程中遇到的问题(遇到的技术难点及如何解决的,有特点的,需要注意的其他问题):测试要点:是是否严格按照设备组编程规则进行了自检(程序员填写)审核人审阅意见实际工作量测试报告测试目的:测试驱动程序是否能正确的读取和设定。
基本过程:设计测试工程,定义仪表参数变量,进行变量组态,运行检测。