Found the issue! I had a lot of CAN messages set up that were set by default to "Send Continuously" "Every Cycle". I set them to send every 100ms (which was the intention) and it works now.
I'm having the same problem, but with an MC41. However, in the Project Statistics we don't seem to be exceeding any maximums:
Is it possible to offset/ modify Message ID's when routing from one CAN bus to another? I'm trying to use the MC41 as a router for multiple identical CAN nodes (a parallel bank of the same component, with identical CAN communication), with an MC41 for each component, only routing select identical messages from each component while offsetting the ID's depending on the ADDR of the MC41.
I'm not sure I understand - the CAN message controls motor speed (driving the pump) and is sent by the MD4 to a motor controller. I believe timeouts apply to received messages to throw an error if I message isn't received for a set duration.
I think we have a good solution now - check the comments below. We'll test it on the machine soon to verify.
There's a trick here. It is the "Delay on" in Arno's post above. Through iterations I observed that if that delay value is smaller than the cycle time for the controller, it does not reset. For delay >= cycle time, it works fine!
My suspicion is, the solutions library example will also work with an on-screen switch, so long as the delay is set to be >= cycle time.
Thanks Arno. This works!It looks like the solutions library example but - perhaps because of Qcode and using "PositiveFlank" - does exactly what I need it to do. The MEM channel is now controlled via display switch, and also used in other places in the logic (in an FSM) to decide whether the pump should be running or not.
Hi Arno,Could you elaborate on "read a positive flank of an internal digital channel..."?
Thanks so much for the detailed explanation. The MD4 doesn't directly switch the pump on or off. The on-screen button/ switch will change CAN messages being sent out to a motor controller to ask it to run or not run the pump. Using the "Virtual Button", will the "Output control" channel return to default/ zero upon restarting the MD4? Unfortunately I don't see any attachments, but it looks simple enough to replicate.
A virtual switch (or button) on the screen
Tried over ethernet and it worked like a charm. Took a couple of minutes to update the firmware and subsequent application updates have taken only a few seconds.
I don't know why CAN was not working. The idax file is about 25 MB so at 250kbps it should still only be theoretically <11 min. There are no other components on the bus. CAN-A on the MD4 has been reserved for the diagnostics bus and the MD4 is the only IQAN module in the system so that bus isn't even shared.
Thanks so much for responses and comments.
Customer support service by UserEcho