feat(opc): 添加S7直写支持并更新字段映射格式
- 在OpcConfig模型中新增S7终端、机架和槽位配置 - 实现S7直写功能,替代原有的OPC写入方式 - 更新前端字段映射占位符为S7地址格式 - 修改焊接完成信号触发条件说明 - 添加S7 INT32读取功能用于数据版本控制
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="信号2(焊接完成)">
|
||||
<el-input v-model="form.signal2_node" placeholder="ns=2;s=PL.Signal.WeldDone" style="width:360px" />
|
||||
<span class="hint">焊接完成信号,0→1保持2秒触发</span>
|
||||
<span class="hint">焊接完成信号,0→1且计数器变化触发</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -42,16 +42,24 @@
|
||||
<el-input v-model="form.write_target_node" placeholder="ns=2;s=PL.Material.Target" style="width:360px" />
|
||||
<span class="hint">1=一号开卷机, 2=二号开卷机</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="S7 终端">
|
||||
<el-input v-model="form.write_s7_endpoint" placeholder="192.168.0.10:102" style="width:360px" />
|
||||
<span class="hint">计划写入采用 S7 直写,格式 IP:PORT</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="S7 Rack/Slot">
|
||||
<el-input-number v-model="form.write_s7_rack" :min="0" :max="7" style="width:120px" />
|
||||
<el-input-number v-model="form.write_s7_slot" :min="0" :max="31" style="width:120px;margin-left:8px" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<div class="panel-title" style="margin-top:16px">一号开卷机字段映射</div>
|
||||
<div class="panel-title" style="margin-top:16px">一号开卷机字段地址映射(S7)</div>
|
||||
<div v-for="field in writeFieldDefs" :key="'u1-' + field.key" class="node-row">
|
||||
<div class="field-label">{{ field.label }}</div>
|
||||
<span class="arrow">→</span>
|
||||
<el-input v-model="writeNodes['1'][field.key]" :placeholder="field.placeholder" size="small" style="width:320px" />
|
||||
</div>
|
||||
|
||||
<div class="panel-title" style="margin-top:16px">二号开卷机字段映射</div>
|
||||
<div class="panel-title" style="margin-top:16px">二号开卷机字段地址映射(S7)</div>
|
||||
<div v-for="field in writeFieldDefs" :key="'u2-' + field.key" class="node-row">
|
||||
<div class="field-label">{{ field.label }}</div>
|
||||
<span class="arrow">→</span>
|
||||
@@ -109,19 +117,22 @@ export default {
|
||||
signal2_node: '',
|
||||
write_counter_node: '',
|
||||
write_source_node: '',
|
||||
write_target_node: ''
|
||||
write_target_node: '',
|
||||
write_s7_endpoint: '',
|
||||
write_s7_rack: 0,
|
||||
write_s7_slot: 1
|
||||
},
|
||||
writeFieldDefs: [
|
||||
{ key: 'setup_data_revision', label: '设置数据修改', placeholder: 'ns=2;s=PL.Setup.DataRevision' },
|
||||
{ key: 'coilid', label: '钢卷ID', placeholder: 'ns=2;s=PL.Entry1.CoilId' },
|
||||
{ key: 'entry_coil_weight', label: '入口钢卷重量', placeholder: 'ns=2;s=PL.Entry1.Weight' },
|
||||
{ key: 'entry_of_coil_length', label: '长度', placeholder: 'ns=2;s=PL.Entry1.Length' },
|
||||
{ key: 'entry_coil_width', label: '宽度', placeholder: 'ns=2;s=PL.Entry1.Width' },
|
||||
{ key: 'entry_coil_thickness', label: '厚度', placeholder: 'ns=2;s=PL.Entry1.Thickness' },
|
||||
{ key: 'entry_of_coil_inner_diameter', label: '钢卷内径', placeholder: 'ns=2;s=PL.Entry1.InnerDiameter' },
|
||||
{ key: 'entry_of_coil_outer_diameter', label: '钢卷外径', placeholder: 'ns=2;s=PL.Entry1.OuterDiameter' },
|
||||
{ key: 'alloy_code', label: '合金代码', placeholder: 'ns=2;s=PL.Entry1.AlloyCode' },
|
||||
{ key: 'material', label: '材质', placeholder: 'ns=2;s=PL.Entry1.Material' }
|
||||
{ key: 'setup_data_revision', label: '设置数据修改', placeholder: 'DB35501.DINT0' },
|
||||
{ key: 'coilid', label: '钢卷ID', placeholder: 'DB35501.Byte4 (A20)' },
|
||||
{ key: 'entry_coil_weight', label: '入口钢卷重量', placeholder: 'DB35501.DBD26' },
|
||||
{ key: 'entry_of_coil_length', label: '长度', placeholder: 'DB35501.DBD30' },
|
||||
{ key: 'entry_coil_width', label: '宽度', placeholder: 'DB35501.DBD34' },
|
||||
{ key: 'entry_coil_thickness', label: '厚度', placeholder: 'DB35501.DBD38' },
|
||||
{ key: 'entry_of_coil_inner_diameter', label: '钢卷内径', placeholder: 'DB35501.DBD42' },
|
||||
{ key: 'entry_of_coil_outer_diameter', label: '钢卷外径', placeholder: 'DB35501.DBD46' },
|
||||
{ key: 'alloy_code', label: '合金代码', placeholder: 'DB35501.Byte50 (A4)' },
|
||||
{ key: 'material', label: '材质', placeholder: 'DB35501.Byte54 (A20)' }
|
||||
],
|
||||
writeNodes: { '1': {}, '2': {} },
|
||||
nodeList: [],
|
||||
@@ -148,6 +159,9 @@ export default {
|
||||
this.form.write_counter_node = cfg.write_counter_node || ''
|
||||
this.form.write_source_node = cfg.write_source_node || ''
|
||||
this.form.write_target_node = cfg.write_target_node || ''
|
||||
this.form.write_s7_endpoint = cfg.write_s7_endpoint || ''
|
||||
this.form.write_s7_rack = cfg.write_s7_rack ?? 0
|
||||
this.form.write_s7_slot = cfg.write_s7_slot ?? 1
|
||||
this.writeNodes = {
|
||||
'1': { ...(cfg.write_nodes?.['1'] || {}) },
|
||||
'2': { ...(cfg.write_nodes?.['2'] || {}) }
|
||||
|
||||
Reference in New Issue
Block a user