This is a complete guess but here goes¡
1. since commands work, you know your com spec is ok, and com ports are com ports - they don¡¯t work differently on different devices so I wouldn¡¯t think that¡¯s a problem
2. the mc3 and cp3 have different physical serial connectors - d-sub vs phoenix. Have you triple checked the Rx wiring? It¡¯s trivial on the phoenix so I¡¯m assuming that¡¯s also not the issue - but worth checking. ?Do you see data arriving in SIMPL Debugger? ?That¡¯s the acid test.
3. So - my initial theory: ?the CHANGE event might be your problem. ?Rather than gathering data, the event is triggering on every change, and clearing the input each time. ?First off, the input is defined as a STRING rather than a BUFFER. The code was written assuming at each RX packet would arrive on a single logic wave - this is simplistic and may well work on slower processors (2-series, MC3) but faster devices will present the RX data as it arrives, potentially a byte at a time. ?This will cause the current implementation to never process a packet => no lamp hours.
?
in short, the FromDevice$ input should be a BUFFER_INPUT and the change handler needs re-writing to wait for a full packet before processing (and not clearbuffer on every change)
?
like I say though, that just a guess!
Oliver