I managed to write a couple of functions that use messaging to send the tags back and forth to the core. They are generic BYTE level routines that simply write the data. I still need to add some error checking to them. I'm gonna use these functions to get my Modbus module to work with all of this. Then I think that I'll start a logic module of some kind.
I'm starting to struggle with how to handle the configuration files. One of the things that I didn't like about some of the other Open Source controller programs is the central configuration file. It seems to me that there are so many different types of modules that need to be configured that it makes sense to let each module handle it's own configuration. There is an argument for having a centralized method of reading configuration parameters in the library. I'm not quite sure if I want to mess with that. Program interpreters, for instance wouldn't have much configuration if any. They would have the program that they are designed to interpret. HMI modules would be similar. Communications, alarming and logging modules would have a lot of configuration. I guess this needs more thought.