-- ============================================================================ -- 磨床自动化单元 - PLC信号种子数据 -- ============================================================================ -- 说明: -- id: 信号ID -- is_status: 0=任务信号(PC→PLC触发), 1=状态信号(PLC→PC通知) -- sender: 1=PC(软件), 2=PLC -- address: 西门子S7 PLC地址(M区); 位地址如 M3600.0, 字节地址如 M3600 -- reply_offset: 回复信号地址偏移量(通常+9),状态信号为0 -- data_type: 数据类型(bool/byte),默认bool。byte类型信号需显式标记 -- ============================================================================ DELETE FROM signal; INSERT INTO signal (id, is_status, name, sender, address, reply_offset, data_type, description) VALUES -- ========== 接驳台 Dock (M2000-M2019) ========== (1, 0, 'DockFetchReq', 1, 'M2000', 9, 'byte', '软件_接驳台取料信号'), (2, 0, 'DockFetchPos', 1, 'M2001', 0, 'byte', '软件_接驳台取位置号(1-42)'), (3, 0, 'DockFetchTray', 1, 'M2002', 0, 'byte', '软件_接驳台取料(1=接驳台1,2=接驳台2)'), (4, 1, 'DockReserve01', 2, 'M2003', 0, 'byte', '备用'), (5, 1, 'DockReserve02', 2, 'M2004', 0, 'byte', '备用'), (6, 1, 'DockReserve03', 2, 'M2005', 0, 'byte', '备用'), (7, 1, 'DockReserve04', 2, 'M2006', 0, 'byte', '备用'), (8, 1, 'DockReserve05', 2, 'M2007', 0, 'byte', '备用'), (9, 1, 'DockReserve06', 2, 'M2008', 0, 'byte', '备用'), (10, 1, 'DockFetchDone', 2, 'M2009', 0, 'byte', 'PLC_接驳台取料完成'), (11, 0, 'DockPlaceReq', 1, 'M2010', 9, 'byte', '软件_接驳台放料信号'), (12, 0, 'DockPlacePos', 1, 'M2011', 0, 'byte', '软件_接驳台放位置号(1-42)'), (13, 0, 'DockPlaceTray', 1, 'M2012', 0, 'byte', '软件_接驳台放料(1=接驳台1,2=接驳台2)'), (14, 1, 'DockReserve07', 2, 'M2013', 0, 'byte', '备用'), (15, 1, 'DockReserve08', 2, 'M2014', 0, 'byte', '备用'), (16, 1, 'DockReserve09', 2, 'M2015', 0, 'byte', '备用'), (17, 1, 'DockReserve10', 2, 'M2016', 0, 'byte', '备用'), (18, 1, 'DockReserve11', 2, 'M2017', 0, 'byte', '备用'), (19, 1, 'DockReserve12', 2, 'M2018', 0, 'byte', '备用'), (20, 1, 'DockPlaceDone', 2, 'M2019', 0, 'byte', 'PLC_接驳台放料完成'), -- ========== 相机 Camera (M2020-M2029) ========== (21, 0, 'CameraShootReq', 1, 'M2020', 9, 'byte', '软件_相机拍照'), (22, 0, 'CameraShootTray', 1, 'M2021', 0, 'byte', '软件_接驳台拍照'), (23, 0, 'CameraWorkType', 1, 'M2022', 0, 'byte', '软件_工件类型(product_type.id)'), (24, 0, 'CameraShootPos', 1, 'M2023', 0, 'byte', '软件_相机拍照位置号'), (25, 1, 'CameraReserve02', 2, 'M2024', 0, 'byte', '备用'), (26, 1, 'CameraReserve03', 2, 'M2025', 0, 'byte', '备用'), (27, 1, 'CameraReserve04', 2, 'M2026', 0, 'byte', '备用(原接驳台清零完成,已移除)'), (28, 1, 'CameraShootResult', 2, 'M2027', 0, 'byte', 'PLC_拍照结果(1=有料,0=无料)'), (29, 0, 'CameraWorkTypeReserve', 1, 'M2028', 0, 'byte', '软件_工件类型(暂时不用)'), (30, 1, 'CameraShootDone', 2, 'M2029', 0, 'byte', 'PLC_拍照完成'), -- ========== 磨床 Grinder (M2030-M2059) ========== (31, 0, 'GrinderFetchReq', 1, 'M2030', 9, 'byte', '软件_磨床取料信号'), (32, 1, 'GrinderReserve01', 2, 'M2031', 0, 'byte', '备用'), (33, 1, 'GrinderReserve02', 2, 'M2032', 0, 'byte', '备用'), (34, 1, 'GrinderReserve03', 2, 'M2033', 0, 'byte', '备用'), (35, 1, 'GrinderReserve04', 2, 'M2034', 0, 'byte', '备用'), (36, 1, 'GrinderReserve05', 2, 'M2035', 0, 'byte', '备用'), (37, 1, 'GrinderReserve06', 2, 'M2036', 0, 'byte', '备用'), (38, 1, 'GrinderReserve07', 2, 'M2037', 0, 'byte', '备用'), (39, 1, 'GrinderReserve08', 2, 'M2038', 0, 'byte', '备用(原磨削完成→M3600.0)'), (40, 1, 'GrinderFetchDone', 2, 'M2039', 0, 'byte', 'PLC_磨床取料完成'), (41, 0, 'GrinderPlaceReq', 1, 'M2040', 9, 'byte', '软件_磨床放料信号'), (42, 1, 'GrinderReserve09', 2, 'M2041', 0, 'byte', '备用'), (43, 1, 'GrinderReserve10', 2, 'M2042', 0, 'byte', '备用'), (44, 1, 'GrinderReserve11', 2, 'M2043', 0, 'byte', '备用'), (45, 1, 'GrinderReserve12', 2, 'M2044', 0, 'byte', '备用'), (46, 1, 'GrinderReserve13', 2, 'M2045', 0, 'byte', '备用'), (47, 1, 'GrinderReserve14', 2, 'M2046', 0, 'byte', '备用'), (48, 1, 'GrinderReserve15', 2, 'M2047', 0, 'byte', '备用'), (49, 1, 'GrinderReserve16', 2, 'M2048', 0, 'byte', '备用'), (50, 1, 'GrinderPlaceDone', 2, 'M2049', 0, 'byte', 'PLC_磨床放料完成'), (51, 0, 'GrinderExchangeReq', 1, 'M2050', 9, 'byte', '软件_磨床换料信号'), (52, 1, 'GrinderReserve17', 2, 'M2051', 0, 'byte', '备用'), (53, 1, 'GrinderReserve18', 2, 'M2052', 0, 'byte', '备用'), (54, 1, 'GrinderReserve19', 2, 'M2053', 0, 'byte', '备用'), (55, 1, 'GrinderReserve20', 2, 'M2054', 0, 'byte', '备用'), (56, 1, 'GrinderReserve21', 2, 'M2055', 0, 'byte', '备用'), (57, 1, 'GrinderReserve22', 2, 'M2056', 0, 'byte', '备用'), (58, 1, 'GrinderReserve23', 2, 'M2057', 0, 'byte', '备用'), (59, 1, 'GrinderReserve24', 2, 'M2058', 0, 'byte', '备用'), (60, 1, 'GrinderExchangeDone', 2, 'M2059', 0, 'byte', 'PLC_磨床换料完成信号'), -- ========== 换向机构 TurnTable (M2060-M2079) ========== (61, 0, 'TurnTableFetchReq', 1, 'M2060', 9, 'byte', '软件_换向机构取料信号'), (62, 1, 'TurnTableReserve01', 2, 'M2061', 0, 'byte', '备用'), (63, 1, 'TurnTableReserve02', 2, 'M2062', 0, 'byte', '备用'), (64, 1, 'TurnTableReserve03', 2, 'M2063', 0, 'byte', '备用'), (65, 1, 'TurnTableReserve04', 2, 'M2064', 0, 'byte', '备用'), (66, 1, 'TurnTableReserve05', 2, 'M2065', 0, 'byte', '备用'), (67, 1, 'TurnTableReserve06', 2, 'M2066', 0, 'byte', '备用'), (68, 1, 'TurnTableReserve07', 2, 'M2067', 0, 'byte', '备用'), (69, 1, 'TurnTableReserve08', 2, 'M2068', 0, 'byte', '备用'), (70, 1, 'TurnTableFetchDone', 2, 'M2069', 0, 'byte', 'PLC_换向机构取料完成信号'), (71, 0, 'TurnTablePlaceReq', 1, 'M2070', 9, 'byte', '软件_换向机构放料信号'), (72, 1, 'TurnTableReserve09', 2, 'M2071', 0, 'byte', '备用'), (73, 1, 'TurnTableReserve10', 2, 'M2072', 0, 'byte', '备用'), (74, 1, 'TurnTableReserve11', 2, 'M2073', 0, 'byte', '备用'), (75, 1, 'TurnTableReserve12', 2, 'M2074', 0, 'byte', '备用'), (76, 1, 'TurnTableReserve13', 2, 'M2075', 0, 'byte', '备用'), (77, 1, 'TurnTableReserve14', 2, 'M2076', 0, 'byte', '备用'), (78, 1, 'TurnTableReserve15', 2, 'M2077', 0, 'byte', '备用'), (79, 1, 'TurnTableReserve16', 2, 'M2078', 0, 'byte', '备用'), (80, 1, 'TurnTablePlaceDone', 2, 'M2079', 0, 'byte', 'PLC_换向机构放料完成信号'), -- ========== 全检台换料 FullCheckExchange (M2080-M2089) ========== (81, 0, 'FullCheckExchangeReq', 1, 'M2080', 9, 'byte', '软件_全检台换料信号'), (82, 0, 'FullCheckExchangeFetchPos', 1, 'M2081', 0, 'byte', '软件_全检台取位置号(换料时写M2091)'), (83, 0, 'FullCheckExchangePlacePos', 1, 'M2082', 0, 'byte', '软件_全检台放位置号(换料时写M2101)'), (84, 1, 'FullCheckExchangeReserve01', 2, 'M2083', 0, 'byte', '备用'), (85, 1, 'FullCheckExchangeReserve02', 2, 'M2084', 0, 'byte', '备用'), (86, 1, 'FullCheckExchangeReserve03', 2, 'M2085', 0, 'byte', '备用'), (87, 1, 'FullCheckExchangeReserve04', 2, 'M2086', 0, 'byte', '备用'), (88, 1, 'FullCheckExchangeReserve05', 2, 'M2087', 0, 'byte', '备用'), (89, 1, 'FullCheckExchangeReserve06', 2, 'M2088', 0, 'byte', '备用'), (90, 1, 'FullCheckExchangeDone', 2, 'M2089', 0, 'byte', 'PLC_全检台换料完成'), -- ========== 全检台 FullCheck (M2090-M2109) ========== (91, 0, 'FullCheckFetchReq', 1, 'M2090', 9, 'byte', '软件_全检台取料信号'), (92, 0, 'FullCheckFetchPos', 1, 'M2091', 0, 'byte', '软件_全检台取位置号'), (93, 1, 'FullCheckReserve01', 2, 'M2092', 0, 'byte', '备用'), (94, 1, 'FullCheckReserve02', 2, 'M2093', 0, 'byte', '备用'), (95, 1, 'FullCheckReserve03', 2, 'M2094', 0, 'byte', '备用'), (96, 1, 'FullCheckReserve04', 2, 'M2095', 0, 'byte', '备用'), (97, 1, 'FullCheckReserve05', 2, 'M2096', 0, 'byte', '备用'), (98, 1, 'FullCheckReserve06', 2, 'M2097', 0, 'byte', '备用'), (99, 1, 'FullCheckInspectDone', 2, 'M2098', 0, 'byte', 'PLC_全检台检测完成在取放料位'), (100, 1, 'FullCheckFetchDone', 2, 'M2099', 0, 'byte', 'PLC_全检台取料完成信号'), (101, 0, 'FullCheckPlaceReq', 1, 'M2100', 9, 'byte', '软件_全检台放料信号'), (102, 0, 'FullCheckPlacePos', 1, 'M2101', 0, 'byte', '软件_全检台放位置号'), (103, 0, 'FullCheckPlaceDoneRequestInspect', 1, 'M2102', 0, 'byte', '软件_待检放料完成请求检验'), (104, 1, 'FullCheckReserve09', 2, 'M2103', 0, 'byte', '备用'), (105, 1, 'FullCheckReserve10', 2, 'M2104', 0, 'byte', '备用'), (106, 1, 'FullCheckReserve11', 2, 'M2105', 0, 'byte', '备用'), (107, 1, 'FullCheckReserve12', 2, 'M2106', 0, 'byte', '备用'), (108, 1, 'FullCheckReserve13', 2, 'M2107', 0, 'byte', '备用'), (109, 1, 'FullCheckDetecting', 2, 'M2108', 0, 'byte', 'PLC_全检台人工检验中'), (110, 1, 'FullCheckPlaceDone', 2, 'M2109', 0, 'byte', 'PLC_全检台放料完成信号'), -- ========== 缓存台 Cache (M2110-M2129) ========== (111, 0, 'CacheFetchReq', 1, 'M2110', 9, 'byte', '软件_缓存台取料信号'), (112, 0, 'CacheFetchPos', 1, 'M2111', 0, 'byte', '软件_缓存台取料位置号'), (113, 1, 'CacheReserve01', 2, 'M2112', 0, 'byte', '备用'), (114, 1, 'CacheReserve02', 2, 'M2113', 0, 'byte', '备用'), (115, 1, 'CacheReserve03', 2, 'M2114', 0, 'byte', '备用'), (116, 1, 'CacheReserve04', 2, 'M2115', 0, 'byte', '备用'), (117, 1, 'CacheReserve05', 2, 'M2116', 0, 'byte', '备用'), (118, 1, 'CacheReserve06', 2, 'M2117', 0, 'byte', '备用'), (119, 1, 'CacheReserve07', 2, 'M2118', 0, 'byte', '备用'), (120, 1, 'CacheFetchDone', 2, 'M2119', 0, 'byte', 'PLC_缓存台取料完成信号'), (121, 0, 'CachePlaceReq', 1, 'M2120', 9, 'byte', '软件_缓存台放料信号'), (122, 0, 'CachePlacePos', 1, 'M2121', 0, 'byte', '软件_缓存台放料位置号'), (123, 1, 'CacheReserve08', 2, 'M2122', 0, 'byte', '备用'), (124, 1, 'CacheReserve09', 2, 'M2123', 0, 'byte', '备用'), (125, 1, 'CacheReserve10', 2, 'M2124', 0, 'byte', '备用'), (126, 1, 'CacheReserve11', 2, 'M2125', 0, 'byte', '备用'), (127, 1, 'CacheReserve12', 2, 'M2126', 0, 'byte', '备用'), (128, 1, 'CacheReserve13', 2, 'M2127', 0, 'byte', '备用'), (129, 1, 'CacheReserve14', 2, 'M2128', 0, 'byte', '备用'), (130, 1, 'CachePlaceDone', 2, 'M2129', 0, 'byte', 'PLC_缓存台放料完成信号'), -- ========== 清洗 Wash (M2130-M2139) ========== (131, 0, 'WashStartReq', 1, 'M2130', 9, 'byte', '软件_工件清洗'), (132, 1, 'AirBlowReserve01', 2, 'M2131', 0, 'byte', '备用'), (133, 1, 'AirBlowReserve02', 2, 'M2132', 0, 'byte', '备用'), (134, 1, 'AirBlowReserve03', 2, 'M2133', 0, 'byte', '备用'), (135, 1, 'AirBlowReserve04', 2, 'M2134', 0, 'byte', '备用'), (136, 1, 'AirBlowReserve05', 2, 'M2135', 0, 'byte', '备用'), (137, 1, 'AirBlowReserve06', 2, 'M2136', 0, 'byte', '备用'), (138, 1, 'AirBlowReserve07', 2, 'M2137', 0, 'byte', '备用'), (139, 1, 'AirBlowReserve08', 2, 'M2138', 0, 'byte', '备用'), (140, 1, 'AirBlowCompleteDone', 2, 'M2139', 0, 'byte', 'PLC_清洗完成'), -- data_type=byte: AirBlowCompleteDone(M2139) 是字节类型,非位地址 -- ========== 设备状态位 M3600.x ========== (141, 1, 'GrinderMachiningDone', 2, 'M3600.0', 0, 'bool', 'PLC_磨床加工完成'), (142, 1, 'GrinderAllowEntry', 2, 'M3600.1', 0, 'bool', 'PLC_磨床允许进入'), (143, 1, 'TurnTableClamped', 2, 'M3601.0', 0, 'bool', 'PLC_换向机构夹紧到位'), (144, 1, 'TurnTableReleased', 2, 'M3601.1', 0, 'bool', 'PLC_换向机构松开到位'), (145, 1, 'Dock1Present', 2, 'M3604.0', 0, 'bool', 'PLC_接驳台1在位'), (146, 1, 'Dock2Present', 2, 'M3604.1', 0, 'bool', 'PLC_接驳台2在位'); -- 注意:机器人错误码信号 ErrorCode(PC←PLC,读 8 字节)无种子数据。 -- internal/plc.GetErrorCode 依赖 DB signal 表中名为 ErrorCode 的信号; -- 当前未配置时该方法返回 ErrInvalidAddress(明确报错),如需启用请按 -- PLC 图纸在此补充配置(地址/数据类型以现场为准,勿用占位地址)。 -- 重置ID序列 SELECT setval('signal_id_seq', (SELECT MAX(id) FROM signal));