In this tutorial we discuss how to create Custom CAN Messages using the Free Form CAN interface. Use this method if the protocol is not J1939 or NMEAA, an example would be CANOpen. You would also use this method if you need more control over transmitting a J1939 message than the Transmit Device offers.
Follow along in the Reference Configuration.
A PDM is used to provide an example of setting up a receive message with multiplexed data and how to setup a filter to receive only the desired message. A transmit message is created then transmitted by calling the transmit action from a user event with a recurring timer.
CANopen - If you have a device you need to communicate with using CANopen protocol you would use the Free Form CAN interface. We do not have CANopen implemented as an application whereby you can import the devices database file and automatically create all of the definitions. This is something that has to be manually created in Free Form and then managed in programming activities.
When creating custom messages it is important to observe certain requirements. The Freeform CAN application has a restriction in assigning variables in that they cannot start in the middle of one byte then cross a byte boundary and end in another byte. See the Full Explanation.
Receiving Messages - Messages are automatically received and the variables updated with data.
Transmitting Messages - Create a User Event, Script, or Activity Program to fire the action J1939->TX ExtFreeForm(Data) or J1939->TX StdFreeForm(Data).