Custom Communications Protocol Case Study

custom communications protocol

Implementing Custom CAN Communications Protocol

Summary

A specialized peripheral device required a custom communications protocol based on CAN (Controller Area Network). This was developed using .NET programming on an industrial PC.

Key Benefits

  • Maintainable program code
  • Robust communication
  • Improved error logging

Technologies used

  • IPC (Industrial PC)
  • Allen Bradley RSLinx OPC Server
  • Microsoft Visual Studio .NET – C#
  • USB -> CAN adapter

The Breen Machine Solution

A new machine required communication with peripheral hardware using a specialized CAN-style protocol. Our customer expected this to be a straightforward CAN implementation when they designed the machine, but they quickly found that it wasn’t. Messages needed to be broken up into small packets of information and confirmation of receipt needed to be established after every packet.

Additionally, the messaging format did not adhere to CAN standards requiring the need to build custom packet headers. This process needed to be performed with up to six devices simultaneously, each processing their own stream of information. Given that a PC was already part of the machine, using a PC-based approach seemed like the obvious choice. Microsoft’s C# was chosen for its quick development cycle and intuitive syntax.

Breen Machine leveraged its talented team and resources to quickly develop and test the program. We used a step-by-step approach, starting with the most basic communication and working up to complex messages.  This allowed us to test and validate the effectiveness of the program at regular intervals, streamlining the custom development towards a robust solution.

Real world integration always has extra challenges along the way. Twice, hardware failures tried to derail the project during crunch time, but we kept things on track by creating a simulation environment to continue testing. We pride ourselves in keeping projects on schedule despite tough timelines and uncooperative hardware, and this simulation approach is a great example of how.

Do you have complex software requirements that need a custom solution? Let us know how we can help.

Jon Breen

About the Author

Jon is an engineer, entrepreneur, and teacher.  His passion is creating and improving the systems that enhance human life, from automating repetitive tasks to empowering people in their careers.  In his spare time, Jon enjoys engineering biological systems in his yard (gardening).

Connect with us on Social

Contact BMAS

Leave a Reply