I'm currently using Micrologix1400 to send alarm SMS messages via TC35. This Micrologix is a "central node" communicating with all the other nodes and collecting statuses. Depending on the collected, it sends an SMS message. SMS messages are stored in ST file. This was ok, until the number of remote nodes grew and number of messages and related program exceeded 10K memory of Micrologix.
The first question I'd like to propose to discuss, how to get more memory for SMS and keep additional expenses as low as possible? I need to keep this Micrologix as a central node and to use the existing TC35.
My attempt of solution was to use S7-1200 with two CM1241 RS232 modules as a buffer, as it has expandable memory cards up to 24 MB. I'd reconfigure the channel 2 of Micrologix (now used for modem) to send alarm words (16 bit, 1=active alarm, 1 word per remote location) via MODBUS RTU to S7. This communication I've done before and it works.
I'd then use the other RS 232 channel to send AT commands to the TC35 to send SMS. I've also managed to do that.
The problem at hand is the working memory of S7-1200. Although I have enough room on memory card, I'm limited with 50K (or 30K, depending on the controller) of working memory. When all my FB and DB are compiled, this is enough for one remote location. I'm not familiar with how memory on S7-1200 works. (How) can I control what part of load memory is transferred to work memory so the work memory has only the code it needs to run at that moment? My code now has FBs three layers deep, because most of the code is repetitive and all strings are defined as user constants. Number of strings is the bare minimum required.
The first question I'd like to propose to discuss, how to get more memory for SMS and keep additional expenses as low as possible? I need to keep this Micrologix as a central node and to use the existing TC35.
My attempt of solution was to use S7-1200 with two CM1241 RS232 modules as a buffer, as it has expandable memory cards up to 24 MB. I'd reconfigure the channel 2 of Micrologix (now used for modem) to send alarm words (16 bit, 1=active alarm, 1 word per remote location) via MODBUS RTU to S7. This communication I've done before and it works.
I'd then use the other RS 232 channel to send AT commands to the TC35 to send SMS. I've also managed to do that.
The problem at hand is the working memory of S7-1200. Although I have enough room on memory card, I'm limited with 50K (or 30K, depending on the controller) of working memory. When all my FB and DB are compiled, this is enough for one remote location. I'm not familiar with how memory on S7-1200 works. (How) can I control what part of load memory is transferred to work memory so the work memory has only the code it needs to run at that moment? My code now has FBs three layers deep, because most of the code is repetitive and all strings are defined as user constants. Number of strings is the bare minimum required.