测试平台上位机与PLC通讯协议及程序引言:PLC作为一种稳定可靠的控制器在工业控制系统得到了广泛的应用。但是由于PLC的人机接口功能不是很完善,不能提供给用一个友好的交互界面,因此妨碍了对现场运行过程的跟踪与监控。目前一些通用的组态软件,以其强大的、界面友好、开发简洁等优点在计算机监控领域已经得到了广泛的应用,但是价格比较昂贵。LabVIEW用计算机强大的图形环境,采用可视化的图形编程语言和平台,以在计算机屏幕上建立图形化的软面板来替代常规的传统仪器面板。为了实现上位机对整个系统的控制和管理,上位机和下位机之间的需要通过通信实现信息共享,为此制定了本协议。1.PLC通讯模块:本系统采用西门子S7-300系列PLC,采用的通讯模块为CP340。该模块允许通过点对点通讯方式,在可编程控制器或计算机之间交换数据。CP340通过串行接口处理与通讯伙伴的数据传输。配有三种不同的驱动程序。其中,打印机驱动方式为单向数据通信,ASCIIdriver和3964(R)模式为双向数据通讯。ASCIIdriver模式可以获得更好的传输效率,所以我们采用此通讯协议来完成数据通讯。2.PLC通道资源:本系统中,PLC共有32个输入通道和64个输出通道,在现阶段用到的资源主要有16个输入通道和39路输出通道,剩余通道为后续设备升级预留。序号名称对象类型标号端口反馈位控制位备注输入通道1钥匙开关辅助触点钥匙开关NOPLC_IN_0I0.0B0.0NULL开关信号反馈2复位按钮辅助触点复位按钮NOPLC_IN_1I0.1B0.1NULL触发复位信号3直流电源上电接触器辅助触点交流接触器NOPLC_IN_2I0.2B0.2NULL高压电源上电信号反馈4绝缘仪系统故障指示触点绝缘仪NOPLC_IN_3I0.3B0.3NULL绝缘仪系统故障反馈5绝缘仪报警2辅助触点绝缘仪NOPLC_IN_4I0.4B1.0NULL高压直流一级绝缘故障6绝缘仪报警1辅助触点绝缘仪NOPLC_IN_5I0.5B1.1NULL高压直流二级绝缘故障7PEU1-1故障输入干结点PEU1-1NCPLC_IN_6I0.6B1.2NULL被测对象1故障反馈18PEU1-2故障输入干结点PEU1-2NCPLC_IN_7I0.7B1.3NULL被测对象1故障反馈29PEU2-1故障输入干结点PEU2-1NCPLC_IN_8I1.0B2.0NULL被测对象2故障反馈110PEU2-2故障输入干结点PEU2-2NCPLC_IN_9I1.1B2.1NULL被测对象2故障反馈211PEU3-1故障输入干结点PEU3-1NCPLC_IN_10I1.2B2.2NULL被测对象3故障反馈112PEU3-2故障输入干结点PEU3-2NCPLC_IN_11I1.3B2.3NULL被测对象3故障反馈213高压假负载柜门控开关1假负载柜上门NCPLC_IN_12I1.4B3.0NULL假负载柜门反馈信息14高压假负载柜门控开关2假负载柜左下门NCPLC_IN_13I1.5B3.1NULL假负载柜门反馈信息15高压假负载柜门控开关3假负载柜右下门NCPLC_IN_14I1.6B3.2NULL假负载柜门反馈信息16高压假负载烟雾报警器假负载柜NCPLC_IN_15I1.7B3.3NULL假负载柜烟雾报警17液位开关输入信号液位开关NCPLC_IN_16I2.0B4.0NULL液位传感器报警输出触点1自保持继电器线圈驱动信号自保持继电器输出PLC_OUT_0Q4.0B8.0B1.0上电后自动闭合,停机过程完成后断开2上电指示灯驱动信号塔灯白灯输出PLC_OUT_1Q4.1B8.1B1.1上电后自动闭合3运行指示灯驱动信号塔灯绿灯输出PLC_OUT_2Q4.2B8.2B1.2上位机控制4告警/复位指示灯驱动信号塔灯黄灯输出PLC_OUT_3Q4.3B8.3B1.3上位机控制5故障指示灯驱动信号塔灯红灯输出PLC_OUT_4Q4.4B9.0B2.0上位机控制,通讯超时自动点亮6蜂鸣器驱动信号塔灯蜂鸣器输出PLC_OUT_5Q4.5B9.1B2.1上位机控制,通讯超时自动点亮7低压电源上电指示灯低压电源输出PLC_OUT_6Q4.6B9.2B2.2上位机控制81#低压负载运行指示灯1#低压负载输出PLC_OUT_7Q4.7B9.3B2.3上位机控制92#低压负载运行指示灯2#低压负载输出PLC_OUT_8Q5.0B10.0B3.0上位机控制103#低压负载运行指示灯3#低压负载输出PLC_OUT_9Q5.1B10.1B3.1上位机控制11高压电源上电接触器驱动信号高压直流电源上电接触器输出PLC_OUT_10Q5.2B10.2B3.2上位机控制12高压工作指示灯继电器驱动信号高压直流电源指示灯输出PLC_OUT_11Q5.3B10.3B3.3上位机控制,高压输出接触器闭合则点亮13高压直流接触器驱动信号高压输出接触器输出PLC_OUT_12Q5.4B11.0B4.0上位机控制14PEU1低压电源继电器驱动PEU1输出PLC_OUT_13Q5.5B11.1B4.1上位机控制15PEU1点火继电器驱动PEU1输出PLC_OUT_14Q5.6B11.2B4.2上位机控制16PEU1DCDC接入继电器驱动PEU1输出PLC_OUT_15Q5.7B11.3B4.3上位机控制17PEU2低压电源继电器驱动PEU2输出PLC_OUT_16Q8.0B12.0B5.0上位机控制18PEU2点火继电器驱动PEU2输出PLC_OUT_17Q8.1B12.1B5.1上位机控制19PEU2DCDC接入继电器驱动PEU2输出PLC_OUT_18Q8.2B12.2B5.2上位机控制20PEU3低压电源继电器驱动PEU3输出PLC_OUT_19Q8.3B12.3B5.3上位机控制21PEU3点火继电器驱动PEU3输出PLC_OUT_20Q8.4B13.0B6.0上位机控制22PEU3DCDC接入继电器驱动PEU3输出PLC_OUT_21Q8.5B13.1B6.1上位机控制23控制器1故障输出干结点PEU1输出PLC_OUT_22Q8.6B13.2B6.2正常情况下闭合,故障情况下断开24控制器2故障输出干结点PEU2输出PLC_OUT_23Q8.7B13.3B6.3正常情况下闭合,故障情况下断开25控制器3故障输出干结点PEU3输出PLC_OUT_24Q9.0B14.0B7.0正常情况下闭合,故障情况下断开26PEU1工作正常指示灯PEU1输出PLC_OUT_25Q9.1B14.1B7.1上位机控制29PEU1工作故障指示灯PEU1输出PLC_OUT_26Q9.2B14.2B7.2上位机控制27PEU2工作正常指示灯PEU2输出PLC_OUT_27Q9.3B14.3B7.3上位机控制30PEU2工作故障指示灯PEU2输出PLC_OUT_28Q9.4B15.0B8.0上位机控制28PEU3工作正常指示灯PEU3输出PLC_OUT_29Q9.5B15.1B8.1上位机控制31PEU3工作故障指示灯PEU3输出PLC_OUT_30Q9.6B15.2B8.2上位机控制32PEU3高压直流互锁接触器PEU3输出PLC_OUT_31Q9.7B15.3B8.3上位机控制33PEU4低压电源继电器驱动PEU4输出PLC_OUT_32Q12.0B16.0B9.0上位机控制34PEU4点火继电器驱动PEU4输出PLC_OUT_33Q12.1B16.1B9.1上位机控制35PEU4DCDC接入继电器驱动PEU4输出PLC_OUT_34Q12.2B16.2B9.2上位机控制36PEU4直流互锁接触器驱动信号PEU4输出PLC_OUT_35Q12.3B16.3B9.3上位机控制37PEU4低压互锁接触器PEU4输出PLC_OUT_36Q12.4B17.0B10.0上位机控制38高压假负载工作指示灯假负载指示灯输出PLC_OUT_37Q12.5B17.1B10.1上位机控制39温湿台低压电源互锁接触器PEU3输出PLC_OUT_38Q12.6B17.2B10.2上位机控制1.通讯协议:PLC反馈到上位机格式为:起始位(@)+数据位(byte0+……+byte11)+校验码(byte12+byte13)+结束码(0D+0A)数据位高位为4,其中校验码为数据位的异或和,数据位的高位异或X,低位异或Y分别放到byte12和byte13的低位中,byte12和byte13高位为3。编号字节号用途备注0byte0I0.0-I3.7输入单元状态反馈1byte12byte23byte34byte45byte56byte67byte78byte8Q4.0-Q5.7输出单元状态反馈9byte910byte1011byte1112Byte12校验码高位3XH13byte13校验码低位3YH上位机发送到PLC的格式为:起始位(@)+确认发送(byte0)+数据位(byte1+……+byte4)+校验码(byte5+byte6)+结束码(0D+0A)其中确认发送为:0x35,校验码同PLC反馈到上位机格式。编号字节号用途备注0byte035H确认发送1byte1Q4.0-Q5.7输出命令2byte23byte34byte45Byte5校验码高位3XH6Byte6校验码低位3YH2.上位机程序:1)串口初始化:串口初始化,缓存区大小设置。注:“VISAresourcename”“baudrate”“databits”“parity”“stopbits”“flowcontrol”必须接输入,否则程序报错。2)端口关闭:端口关闭注:“VISA资源名称”必须接输入,否则程序报错。3)读取校验码:读取校验码注:“数据”必须接输入,否则程序报错。4)计算校验码:计算校验码注:“完整数据”必须接输入,否则程序报错。5)数据处理:数组分解成布尔数组注:“数组”必须接输入,否则程序报错。6)数据发送:起始码:@(40H),确认发送:(35H),数据位:Byte1-Byte12,检验码高位:3XH,校验码低位:3YH,结束码:OD0A。注:“VISA资源名称”“发送”必须接输入,否则程序报错。7)数据接收:计算的校验码与读取的校验码进行比较,如若相等该数组为正常数据,否则不读取。注:“完整数据”接输入,否则程序报错。3.注意事项:运行之前必须选择端口,否则程序报错后自行停止运行;触发时间为触发发送数据时间,默认500ms发送一次。4.监控界面:操作步骤:1)确定串口输入端口,程序默认为COM5。2)发送触发时间确定,程序默认为500ms。3)数据发送端,驱动继电器,指示灯等。4)数据接收,显示按钮等反馈信息。测试评估报告1.引言:编写目的为了实现上位机对整个系统的控制和管理,上位机和下位机之间的需要通过通信实现信息共享,我们编写了上位机监控程序做了相应的测试工作,验证其稳定可靠性,并编写测试评估报告。背景项目来源:UAES联合汽车电子有限公司项目委托单位:上海新宇箴诚电控科技有限公司参考资料资料名称作者发表日期版本A0081_CP340CP341CP440CP441编程及通信cn1hc040PEU振动试验和温湿循环试验加载系统需求说明书LiuJingweiFanZichun2011-04-18V1.32.软件测试需求结论:2.1测试目的本次测试以用户功能达到为目的,测试的依据PEU振动试验和温湿循环试验加载系统需求说明书,长时间运行和PLC端突然断电测试,如测试无错误故障报出说名测试通过,如有故障则记录故障信息。2.2测试机构和人员本次测试由吴伟负责,测试人员有:吴伟、卞磊、左琳琳。2.3测试结果1)长时间运行:运行超过2小时,程序运行一切正常,无故障产生。2)PLC突然掉电:上位机程序运行一切正常。错误记录发生时间解决方法长时间运行反馈会存在延时,最后程序停止运行2011-11-18移位寄存器数据与接受数据一起都被记录延迟中,所以导致程序延迟,现将程序中接受延迟去掉,问题解决。PLC突然断电,上位机停机20