4. 生产数据来源与分类

在iQ-R系统中,上位系统能采集到什么数据,取决于PLC内部把哪些信息放进了可访问的软元件。生产数据并不是“自动存在”的,而是由程序在设备运行过程中写入特定软元件,再由上位通过MC协议、OPC UA或SLMP等方式读取。因此,理解数据类型与软元件之间的映射关系,是设计数据采集方案的第一步。

iQ-R中常见的生产数据可归纳为六类:设备状态、产量计数、报警信息、工艺参数、质量结果和能耗数据。它们的数据形态、更新频率和存储位置各不相同,下面逐一梳理。

设备状态:位软元件表达运行模式

设备状态通常用位软元件(M、B、X、Y)表达,每个位代表一种离散状态。例如M100表示“自动运行中”,M101表示“手动模式”,M102表示“故障停机”,M103表示“待料”。上位读取时按位解析,组合判断设备当前处于哪个状态。对于需要表达多状态互斥的场景,也可以用连续的两个位组成2位编码,或直接用一个数据寄存器D存放状态码(如0=停机、1=待机、2=运行、3=故障)。

状态数据的更新由PLC程序在状态切换时写入,上位轮询周期通常设为200ms~1s。需要注意的是,X/Y是物理I/O的映像,反映的是外部信号,而M是内部继电器,反映的是程序判断后的逻辑状态。上位采集设备状态应优先读取M或D,而不是直接读X/Y,否则会把传感器抖动误判为设备状态变化。

产量计数:上升沿累加与清零控制

产量计数一般用数据寄存器D或文件寄存器存储累计值。典型做法是:在产品通过检测光电的上升沿,用INC或ADD指令对D200加1。D200存放当班产量,D210存放总产量。上位读取D200即可获得当前班次产量。

清零逻辑需要单独设计:当班结束时,由上位写入M500=ON,PLC程序检测到M500上升沿后将D200清零,并复位M500。这种“上位请求—PLC执行—复位握手”的方式可以避免清零信号丢失或重复清零。如果产量需要按小时统计,可以增加D202~D225共24个寄存器,用时钟脉冲触发移位或分段累加。

报警信息:位+寄存器组合表达

报警数据通常采用“报警位+报警代码”的组合方式。M300~M315共16个位分别对应16类报警,如M300=急停、M301=伺服过载、M302=气压低等。同时用D300存放当前最高优先级报警代码,D301存放报警发生时的产量快照。

上位采集报警时,既要读M300~M315的位状态用于实时显示,也要读D300获取报警代码用于记录和追溯。报警复位由上位写M400=ON,PLC程序执行报警清除并复位M400。对于需要记录报警发生时刻的场景,可以在报警置位时用DATEWR或时钟数据写入D310~D316,保存年、月、日、时、分、秒。

工艺参数:数据寄存器存放设定值与实际值

工艺参数包括温度、压力、速度、扭矩等模拟量。iQ-R中通过模拟量输入模块(如R60AD8)将4~20mA或0~10V信号转换为数字值,存入D400~D407。例如D400存放焊接温度实际值(单位0.1℃),D410存放温度设定值。上位读取D400和D410后,可以计算偏差并判断工艺是否稳定。

工艺参数的更新周期取决于模块刷新周期和程序扫描周期,通常为10ms~100ms。上位采集时要注意量程换算:如果模块设定为0~4000对应0~400℃,则D400=2500表示250.0℃。这个换算关系必须在上位组态中正确配置,否则会出现“数据读到了但数值不对”的问题。

质量结果:判定位与测量值并存

质量结果通常包含两部分:判定结果和测量值。判定结果用位软元件表达,如M600=合格、M601=不合格、M602=待检。测量值用D500~D509存放,如D500存放尺寸测量值,D502存放扭矩值。上位读取后,将判定位与测量值关联存储,形成“产品序列号—测量值—判定结果”的质量记录。

质量数据的写入时机很关键:应在检测完成后、产品放行前写入,确保上位读取到的判定结果与产品实际状态一致。如果检测需要时间,可以用M610=ON表示“检测完成”,上位检测到M610上升沿后再读取D500和M600。

能耗数据:脉冲累加与瞬时值

能耗数据分为瞬时功率和累计电量。瞬时功率由电力仪表通过Modbus或模拟量输入到D700,单位0.1kW。累计电量通过电能脉冲输入,每脉冲代表0.1kWh,用INC对D710累加。上位读取D700和D710后,可以计算单位产品能耗:D710除以D200(产量),得到每件产品耗电量。

能耗数据的采集周期可以放宽到1s~5s,因为电能变化相对缓慢。但累计电量的脉冲计数不能丢失,需要确保PLC扫描周期小于脉冲最小间隔,或在中断程序中处理脉冲输入。

iQ-R生产数据分类与软元件映射关系 设备状态 M100 自动运行中 M101 手动模式 M102 故障停机 D100 状态码 (0~3) 产量计数 D200 当班产量 D210 总产量 M500 清零请求 D202~D225 分时产量 报警信息 M300~M315 报警位 D300 当前报警代码 D310~D316 发生时刻 M400 报警复位 工艺参数 D400 温度实际值 D410 温度设定值 D402 压力实际值 D404 速度实际值 质量结果 M600 合格 / M601 不合格 D500 尺寸测量值 D502 扭矩测量值 M610 检测完成标志 能耗数据 D700 瞬时功率 (0.1kW) D710 累计电量 (0.1kWh) D712 单位产品能耗 脉冲输入 X10 上位系统采集路径 MC协议 / SLMP / OPC UA → 读取M、D、X、Y软元件 → 解析为业务数据 注:软元件地址为教学示例,实际项目需根据PLC程序分配表确认 位软元件(M/X/Y)表达离散状态,字软元件(D)表达数值与代码

映射关系的设计原则

从上述分类可以看出,iQ-R生产数据的软元件映射遵循几条实用原则。第一,位软元件用于表达“是/否”或“有/无”的离散状态,字软元件用于表达数值、代码和累计量。第二,每类数据应分配连续的地址段,便于上位批量读取。例如设备状态用M100~M199,报警用M300~M399,产量用D200~D299,工艺参数用D400~D499,质量用D500~D599,能耗用D700~D799。第三,需要上位写入的控制信号(如清零、复位)应单独分配地址段,并与PLC内部逻辑做好握手,避免竞争。

在实际项目中,建议先绘制一张“数据—软元件—更新周期—读写方向”的映射表,作为PLC编程和上位组态的共同依据。这张表不需要复杂,但必须覆盖每个数据点的地址、数据类型、量程换算和访问权限。上位组态时直接按表配置,可以大幅减少联调阶段的地址核对工作量。

实践提示:如果同一数据既需要上位读取又需要触摸屏显示,应确保两者读取的是同一软元件地址,避免出现“触摸屏显示正常、上位数据异常”的情况。对于高速变化的工艺参数,可以在PLC中增加平均值滤波(如用D400存放瞬时值、D401存放滤波后值),上位读取滤波值以获得更稳定的数据。

掌握这六类数据的软元件映射规律后,下一步就可以根据采集周期和精度要求,选择MC协议、SLMP或OPC UA等具体通信方式,并设计上位系统的数据存储与展示结构。