#ifndef PLSR_MODBUS_DATA_H #define PLSR_MODBUS_DATA_H #include "plsr_job.h" #ifdef __cplusplus extern "C" { #endif /* Build a PLSR data source backed by the shared PLC data store. D/HD/FD and * X/M/HM are separate logical spaces; standard Modbus holding registers expose * D and standard Modbus coils expose M. */ void PlsrModbusDataSourceInit(PLSR_DATA_SOURCE *source); /* XDM-60T4-E physical input producer. The input image is sampled before the * Modbus/PLSR control polls, so FC02 and motion protection consume the same * debounced board state. */ PLSR_RESULT PlsrModbusInputInit(void); void PlsrModbusInputPoll(void); uint32_t PlsrModbusInputGetRawMask(void); uint32_t PlsrModbusInputGetLogicalMask(void); uint32_t PlsrModbusInputGetMappedMask(void); #ifdef __cplusplus } #endif #endif /* PLSR_MODBUS_DATA_H */