PLC 泛型定长数据队列 队列长度 泛型队列 向列尾插入元素 并移去列首超出数量的元素 是否整个队列的数据都相同、 三菱PLC 使用MC协议(Qna-3E) plc名 PLC的IP和端口 PLC的通讯超时时间 D类型地址标识 M类型地址标识 从5000开始读200个字(不建议使用) 批量读字 一次最多读960个字 (返回16静置字符串数组,高低位反过来解析,比如第1个字是[1],[0],如果是双字则是[3],[2],[1],[0]) 返回的结果字符串数组(16进制字符串),两个字符串是一个字,高低位反过来 读取多字 (返回uint数组) 读单个字 (返回16静置字符串数组,高低位反过来解析,比如第1个字是[1],[0]) 返回的结果字符串(16进制字符串),一共4个字符,高低位反过来 读取单字 (返回uint) 写单个字 写多个字 读取M地址 开始地址 读取数量 读取结果 读PLC 开始地址 读取数量 读取结果 地址类型 D或M 写PLC 开始地址 写入内容 写入数量 地址类型 D或M PLC基类 构造一个新的PLC对象 plc名 PLC的IP和端口 PLC的通讯超时时间 PLC的IP地址 PLC的端口 PLC 的通讯超时时间 PLC的tcp连接 PLC的tcp连接的网络流 TCP传输锁 获取PLC的连接状态 初始化PLC连接 连接是否成功 连接plc(不要用,用PlcInit就行) 连接是否成功 断开plc连接 断开是否完成 读取plc指定地址的值(弃用) 所有值 是否读取成功 根据单个地址读取值 地址 该地址下储存的值(16进制字符串) 是否读取成功 根据单个地址读取值 地址 该地址下储存的值(uint) 是否读取成功 根据起始地址和地址数量来读取值 起始地址 地址数量 返回值 是否读取成功 根据起始地址和地址数量来读取值 起始地址 地址数量 返回值(uint数组) 是否读取成功 向plc指定的单个地址写入值 指定的地址 写入的值值 是否写入成功 向plc多个地址写入值 起始地址 写入的值 地址数量 是否写入成功 自定义指令的发送,这里只支持字单位的读取和写入 指令 返回值 基恩士PLC(KV8000) 基恩士PLC 使用上位链路通信协议 plc名 PLC的IP和端口 PLC的通讯超时时间 默认方法(禁用) 读DM单字(无符号16位) (返回值是10进制数字) 读DM单字 (返回uint) 读DM多字(无符号16位) (返回值是10进制数字) 读取多字 (返回uint数组) 写DM单字(无符号16位) 写DM多字(无符号16位) 发送数据 发送的数据 是否接收长数据,最长支持682个字 返回的结果 强制复位 强制置位 读 软元件类型 地址 返回数据类型(可省略) 返回数据 写 软元件类型 地址 数据 写入数据类型(可省略) 是否写入成功 连续读 软元件类型 地址 读取长度(最大682) 返回数据类型(可省略) 返回数据 连续写 软元件类型 地址 写入数据类型(可省略) 写入长度 数据数组 写入数据类型(可省略) 是否写入成功 软元件类型代码 KV-8000/KV-7500/KV-EP21V 继电器 默认读取格式是位 内部辅助继电器 默认读取格式是位 数据存储器 默认读取格式是字 扩展数据存储器 默认读取格式是字 读写的数据格式 16位无符号十进制数 16位有符号十进制数 32位无符号十进制数 32位有符号十进制数 16位十六进制数 缺省 plc名 PLC的IP和端口 PLC的通讯超时时间 读写模式:0读,1写 检查命令帧中的EndCode 主码 副码 指示程序是否可以继续进行 初始化并连接plc 连接plc 断开PLC 默认读取指令(不建议使用) 这里默认读取150个D区地址,从D5000开始到D5149,读取的返回值都是高位在前低位在后 返回值 读取单字(D) D00000-D32767 (返回16进制字符串数组,比如第一个字是[0],[1]) 读取单字(D) D00000-D32767 (返回uint) 读取多字(D) D00000-D32767 (返回16进制字符串数组,比如第一个字是[0],[1],如果是双字就是[0],[1],[2],[3]) 读取多字(D) D00000-D32767 (返回uint数组) 写单字(D) D00000-D32767 写多字(D) D00000-D32767 批量读CIO位 CIO000000-CIO614315 读取多字(WR区)WR000-WR511 (返回16进制字符串数组,比如第一个字是[0],[1],如果是双字就是[0],[1],[2],[3]) 读取多字(WR区)WR000-WR511 (返回uint数组) 从文件读取的PLC报警信息 alarmData有5个元素,分别对应字,位,报警触发值,报警代码,报警信息 报警字地址 报警位地址 报警触发值 (为true的话就是当读取值是true的时候触发这个报警) 要上传到mes的报警代码 报警说明 PLC报警记录模块 报警模板(从触摸屏导出的报警数据) 报警记录路径(实际记录下来的实时报警) 是否忽略报警状态下的新增报警 报警记录类型 初始化一个报警读取器 报警文件路径 文件格式 .csv 字,位,触发数值,报警代码,报警内容 40000,0,1,E001,急停报警(IO:A1_I0.05) 40000,1,1,E002,上下料安全门报警(IO:A1_I0.06) 报警记录目录路径 报警记录类型 是否忽略报警状态下的新增报警 新增报警事件 报警复位事件 当前记录中的报警 读取本地报警文件 寻找报警代码 字地址 位地址 值 报警信息 是否找到 获得当前报警列表 报警字开始地址 报警地址递增步进(个别情况用) 比如按字读取基恩士MR地址时,字地址是40000,40100,40200这样增加的,此时就要把addrStep设成100 报警字长度(有几个字) 读到的数据 返回的当前报警列表 输入读取的数据,判断当前是否报警,保存报警记录 报警字开始地址 报警地址递增步进(个别情况用) 比如按字读取基恩士MR地址时,字地址是40000,40100,40200这样增加的,此时就要把addrStep设成100 报警字长度(有几个字) 读到的数据 触发新增报警事件 触发报警复位事件 当报警消除的时候记录已消除的报警 报警数据 结束时间 当报警触发的时候记录报警 报警数据 报警记录数据(同时作为报警事件的事件参数) 报警信息 报警代码 报警日期 报警开始时间 报警文件记录选项 不记录 报警触发的时候记录 报警复位的时候记录 PLC数据 读取的值类型 字地址 位地址 功能 描述 数据类型 高低位类型 读取的值 读取数据类型 位 短整型 16位 整型 32位 浮点 32位 将字节数组转成16进制字符串 把字符串截取成每个元素2个字符的字符串数组 前置非数据字节数,omron为30,Mitsubishi为11 将条码转换成UInt16数组 没两个字符对应一个UInt16 位转字 输入一个长度16的bool数组,返回一个Int16形式的字 高位在左,低位在右 Word 字转位 输入一个Int16形式的字,返回一个长度16的bool数组 Bits 位转字节 字节转位 把两个uint16的数据合并成一个float 把float分隔成两个int16 低位在前高位在后 把int分隔成两个int16 低位在前高位在后 把两个Int16的数据合并成一个Int32 PLC类型 欧姆龙 Fins协议 三菱 MC协议 基恩士 上位链路协议 西门子 S7协议 西门子PLC S7系列 西门子PLC 使用S7通讯协议,基于Sharp7实现 端口默认102 连接PLC 不会弹窗报错 读plc地址 地址类型(按byte读) S7Consts.S7AreaPE, S7Consts.S7AreaPA, S7Consts.S7AreaMK, S7Consts.S7AreaDB, S7Consts.S7AreaCT, S7Consts.S7AreaTM 起始地址 读取长度 当Area为S7AreaDB时才生效 读取结果 错误信息 写plc地址 当Area为S7AreaDB时才生效 地址类型 S7Consts.S7AreaPE, S7Consts.S7AreaPA, S7Consts.S7AreaMK, S7Consts.S7AreaDB, S7Consts.S7AreaCT, S7Consts.S7AreaTM 数据类型 S7Consts.S7WLBit, S7Consts.S7WLByte, S7Consts.S7WLChar, S7Consts.S7WLWord, S7Consts.S7WLInt, S7Consts.S7WLDWord, S7Consts.S7WLDInt, S7Consts.S7WLReal, S7Consts.S7WLCounter, S7Consts.S7WLTimer 起始地址 返回结果 错误信息