Managing System of WCs

To implement that, you will need a much more powerful processor to have virtual memory and large RAM space. That is why not practical.
The main purpose of WC8 is to have good reliable control and sensor reading.   Any PLC code generation is beyond the board scope for both WC8 and WC32.
 
WC32 allows customer self build GUI, that user with html knowledge can modify screen layout, following the original html source code. One still has to understand HTML well so that he can modify it.
 
CAI_Support said:
To implement that, you will need a much more powerful processor to have virtual memory and large RAM space. That is why not practical.
The main purpose of WC8 is to have good reliable control and sensor reading.   Any PLC code generation is beyond the board scope for both WC8 and WC32.
 
WC32 allows customer self build GUI, that user with html knowledge can modify screen layout, following the original html source code. One still has to understand HTML well so that he can modify it.
 
exactly, therefore my proposal was a reply to your statement that half of the WC32 memory remains unused, in the current configuration. introducing variable names and later lists, this problem is to be solved ;-) Also your second concern about html literacy. with my proposal, no changes are required on behalf of the html interface, just internal scripts. in the old days you were collecting new functionalities from users, I hope at least now you may value them a litte bit higher.
 
No. Not because there are resources not used then waste them all. There are a lot of features planed, those features will use RAM.
 
CAI_Support said:
No. Not because there are resources not used then waste them all. There are a lot of features planed, those features will use RAM.
 
I' m waiting for a pro user providing new software for the board taking up the needs of home automation and the IoT. I do not understand why you fight taking up those ideas for internal evaluation. Do you have the competency denying their relevance on behalf of CAI?
 
But back to a more positive view of the world. What could be an external productive IoT interface for an ecotope of WCs, to be hosted on a PC?
 
 
  1. explore IPs, being a running WC
  2. arrange the WC in a WYSIWYG figure
  3. make connections between WC defining the relationship (variable x or input z on WC 1 is stored as variable y in the second WC)
  4. define what input/variable are to be stored on USB or on a web server
  5. provide a skeleton for the PLC code according to the defined WYSIWYG relationship and the PHP code on the server storing the data sent to the server, allowing compression of data when sending and conversion into SI-units.
  6. have an overarching data directory comprising names for sensors and variables
  7. allow to export the WYSIWYG sketch into HTML/SVG adding variabes/inouts to be show on a plant map
  8. manage passwords and encryption of the communication flows between WC and server
  9. allow for a fallback solution if the connection to the internet or a receiving WC is broken, avoiding stuck stacks
  10. one click update of all WCs in the system
  11. add libraries for common procedures (running sample, constant intervall between actions, toggling based on an even...)
I leave it up to you integrating JSON capable end devices like the Russian mini-monster  in the system architecture, or offering some cheaper WC8 versions without logic on board doing that job.
 
I am sorry to say that you don't understand industrial PLC. There are a few brands of them out there, from AB, from Honeywell, etc. They all use a software running on PC called ladder editor to generate PLC code. Compare to them, WebControl already has a lot more GUI.
 
To add those you suggested to the firmware, it will cause less reliable, slow down realtime tasks.  Any added software will also add possible bugs, executing those added software will make CPU not able to handle IO during the same time. The proper way is to develop separate software running on computer, export PLC code to WC32 or WC8.  That is something we expect 3rd party to develop.
 
Sad that there is no way of compromising.
You Talk about industrial Automation, I'm proposing a DIY home Automation system, with minor modifications on the WC32, the functions you misinterpreted are on a third machine, a PC with tcp/ip socket, writing to the WCs.
Do you really think the industrial clients are using SPI and one wire bound sensors?
 
Since you sound like a software developer, it would be a chance for you to develop interface code you prefer, so that other users can benefit from it?
You do not really understand microcontroller.  What your proposed is like to move PC or MAC onto this little microcontroller, whose strength is handling IO, not GUI.
 
Elfreid, some of the strengths of the WC (8 and 32) boards are:
 * they are low-priced (for the features they offer)
 * they have a significant number of I/O, and of a good mix. (eg, digital in, digital out, analog in, temperature sensors, etc)
 * they have facilities to do moderately complex local control autonomously
 * they are low power
 * they are fairly small (physically)
 * they have ethernet connectivity
 * they are easily programmed without requiring additional software, toolkits, cables, drivers etc.
 * they are usefully fast
 
They don't have (and in my view shouldn't be expected to have) database capability, real-time graphics generation, high-level languages, major data storage.
 
Think of them as "distributed I/O blocks". I have around 20 of these at my place doing various things. Some things they do all by themselves, with little or no care about the rest of the world. Some things they interact with other boards and other data sources. Some things do ZERO on-board processing, they're just a series of inputs and outputs that are read or controlled by other things.
 
Another computer - even a low-power "carputer" for example - loaded with FreeBSD, Linux or other real-time, high-reliability operating system makes the perfect instrument to "connect the dots" in clever, innovative and unique ways that let you leverage the maximum functionality of an entire SYSTEM from discrete building blocks.
 
Here's an example: the webcontrol boards don't do floating point math. It can be worked around to a point, but it isn't their strong suite. One of my boards controls a series of tracking solar arrays to get me the maximum PV each day. (I live off-grid, so the only power I have is that which I can collect and store. Solar for me is an essential service, not just a "save some money off my electricity bill" toy.)  I have one webcontrol board that operates in conjunction with my "main" gateway computer. The webcontrol periodically checks in for the current time, sun position, wind speed etc. It uses this to update its own on-board "approximation" of where it thinks things are. It can operate the solar panels all by itself, but not as precisely as if it has the main computer to keep it updated. The main computer can also PUSH information to the webcontrol - for example when the weather station (another webcontrol board) reports we have high wind - so it can park the trackers in a reasonably safe position.
And, after all that, the webcontrol is queried every few minutes for data of "where the arrays are pointing" which a "real" computer uses to draw graphs, create logs, and compare the power outputs with calculated theoretical values. The Webcontrol simply isn't made for generating graphs like that, or for storing logs.
 
Home Automation should be about making a complete, homogenous "system" - integrating multiple parts into one fully co-operative system. It will want to link your environment control with your security system so it can tell you to open or close windows and doors (or perhaps do it automatically). You will want the security system and the watering system to play nice (so it doesn't water your lawn when a nearby window is open). You will want the lights and security system to co-operate so it knows where you are and can leave lights on when you're in a room, or turn them off when you leave. You'll want the weather system to interact with the environment control system and the watering system, etc. I don't believe you will ever find a single device that will do that, at a price point more than a half a dozen people will ever buy!
But you MIGHT get many of these functions done with distributed webcontrol boards and a central "co-ordinating" machine that doesn't have to worry about the physical interfaces to the real world and merely "crunches the numbers".
 
CAI_Support said:
Since you sound like a software developer, it would be a chance for you to develop interface code you prefer, so that other users can benefit from it?
You do not really understand microcontroller.  What your proposed is like to move PC or MAC onto this little microcontroller, whose strength is handling IO, not GUI.



Again Try to Understand my Concept before Judging, your allegations are ridiculously wrong. Youn know my proposals always take into consideration the capability of the Hardware. So Again:
WCs should get a Define function allowing for real variable and Sensor names.
The management of the system of WCs is Running on a PC. Just easing our work.
Hope this helps.
Beliebe me the hobbyist automation World Canon Imagine how to use the WCs, and there is Need bringing These worlds together, if Youn will.
 
CAI_Support said:
Since you sound like a software developer, it would be a chance for you to develop interface code you prefer, so that other users can benefit from it?
You do not really understand microcontroller.  What your proposed is like to move PC or MAC onto this little microcontroller, whose strength is handling IO, not GUI.



Again Try to Understand my Concept before Judging, your allegations are ridiculously wrong. Youn know my proposals always take into consideration the capability of the Hardware. So Again:
WCs should get a Define function allowing for real variable and Sensor names.
The management of the system of WCs is Running on a PC. Just easing our work.
Hope this helps.
Beliebe me the hobbyist automation World Canon Imagine how to use the WCs, and there is Need bringing These worlds together, if Youn will.
 
CAI_Support said:
Since you sound like a software developer, it would be a chance for you to develop interface code you prefer, so that other users can benefit from it?
You do not really understand microcontroller.  What your proposed is like to move PC or MAC onto this little microcontroller, whose strength is handling IO, not GUI.



Again try to understand my concept before judging, your allegations are ridiculously wrong. You know my proposals always take into consideration the capability of the hardware. So again:
WCs should get a 'define' function allowing for real variable and sensor names.
The management of the system of WCs is running on a PC. Just easing our work, for setting up the system, but not in operation all time.
Hope this helps.
Believe me the hobbyist automation world cannot imagine how to use the WCs, and there is need bringing those worlds together, if you will.
 
CAI_Support said:
Since you sound like a software developer, it would be a chance for you to develop interface code you prefer, so that other users can benefit from it?
You do not really understand microcontroller.  What your proposed is like to move PC or MAC onto this little microcontroller, whose strength is handling IO, not GUI.


Again Try to Understand my Concept before Judging, your allegations are ridiculously wrong. Youn know my proposals always take into consideration the capability of the Hardware. So Again:
WCs should get a Define function allowing for real variable and Sensor names. in the next STEP json should be on the Agenda.
The management of the system of WCs is Running on a PC. Just easing our work.
Hope this helps.
Beliebe me the hobbyist automation World Canon Imagine how to use the WCs, and there is Need bringing These worlds together, if Youn will.
 
Now after installing a fourth WC within the intranet I do have a new job for such a management system.
Code reuse is an issue.
The system could propagate updatet code blocks to the units....
So we may have a central repository for some sub-programs.
Candidates are:
- coding + encoding for webset data transmission
- timer triggers (each x minutes...)
- data processing, like running averages
- actuator related algorithms
- ...
 
WebControl by its design does not do large scale management by itself.
WebControl's purpose is to handle IO, even when central management server is off line, it has ability to control its connected devices based on PLC program.
Its PLC engine takes care most critical timing requirement for hardware, so that user don't need to worry about hardware chip timing, only logic.
It will not replace main servers for data processing, data storage, report generation, or system communication, although it does provide method to report through email and WEBSET over network.
 
If your whole system is not huge, like a single machine, a home or small office, most those tasks can be done on a WC8 or WC32. However, once your system is larger than one board can handle, you will have a lot to consider, including fault tolerance and backup system.  You can implement a lot of those by writing PLC programs, or writing programs on your main server.
 
RossW has done a lot of WEBSET encoding and communication between his sub systems and main servers. He can provide you consulting services, if you need help.
There are time related functions in WebControl PLC, simple PLC code can handle those easily.
As a general purpose programmable IO controller, its limitation a lot of times are the ability of the PLC code you pasted into the board.
 
CAI_Support said:
WebControl by its design does not do large scale management by itself.
WebControl's purpose is to handle IO, even when central management server is off line, it has ability to control its connected devices based on PLC program.
Its PLC engine takes care most critical timing requirement for hardware, so that user don't need to worry about hardware chip timing, only logic.
It will not replace main servers for data processing, data storage, report generation, or system communication, although it does provide method to report through email and WEBSET over network.
 
If your whole system is not huge, like a single machine, a home or small office, most those tasks can be done on a WC8 or WC32. However, once your system is larger than one board can handle, you will have a lot to consider, including fault tolerance and backup system.  You can implement a lot of those by writing PLC programs, or writing programs on your main server.
 
RossW has done a lot of WEBSET encoding and communication between his sub systems and main servers. He can provide you consulting services, if you need help.
There are time related functions in WebControl PLC, simple PLC code can handle those easily.
As a general purpose programmable IO controller, its limitation a lot of times are the ability of the PLC code you pasted into the board.

If you see the WC as prototyping gear, I aggree. But we seek more distant pastures. Think about data and code management. Some ideas:
 
data management:
one WC, preferably the WC32 host variables (selectable) shared accross the network of WCs
The businsess modell does prevent may be offering JSON formattet transmission of all variables at once, but it would make a consistant system architecture with other hardware
checked variables are transmitted automatically to a server script, which is produced by the IDE analoguous to the chosen variables
password management for the WCs
Variable browsers for all WC together, plotting utility for debugging
 
 
code management:
IDE, repository: code snipletts are held on a PC to be used when programming the WC
IDE code reuse: The code is either using real variable names or it is possible tho store a map on the programming PC translating the variable names for each of the WCs
one WC, preferably the WC32 host subroutines shared accross the network of WCs (RPC remote procedure calls may be the blueprint)
somje candidates (alarming in intervals, websetting data tuples, ...)
generally:
WC may acts as watchdog resetting others
 
Open questions before investing in IDE development:
will definitions of real variable names (names for inputs, outputs etc) be possible in PLC soon?
is there a plan using POST instead of GET?
Is https in sight for the WC32?
 
I'm not claiming excellence for the ideas, but would like them into discussion. At the end of the discussion a defined reference architecture might be of use for other hardware.
 
Back
Top