Programming Cai WebControl PLC

Just be careful that there isn't any way that the glycol can contaminate the beer. It is quite deadly. It happened about 20 or 30 years ago to a winery in Italy and a bunch of people died.
 
Just be careful that there isn't any way that the glycol can contaminate the beer. It is quite deadly. It happened about 20 or 30 years ago to a winery in Italy and a bunch of people died.

If some stainless steel tubing cracked there could be some mixing but that is very unlikely. The deadly glycol is ethylene glycol (what you would put in your radiator), I use propylene glycol which is safer (though probably not too tasty)
 
jamesg said: I have been working on perl code to control the board and I am using it explicitly for my uses. My big motivation for doing it was template/variables in the PLC code without having to do multiple steps. If people are interested I will release this code publicly when it is more complete.

How close is your perl code to being complete? I'd love to use it. The code commenting and naming of variables are valuable capabilities.
 
jamesg said: I have been working on perl code to control the board and I am using it explicitly for my uses. My big motivation for doing it was template/variables in the PLC code without having to do multiple steps. If people are interested I will release this code publicly when it is more complete.

How close is your perl code to being complete? I'd love to use it. The code commenting and naming of variables are valuable capabilities.

There is still some work to be done but it is functional. I suppose I should make sure it will work in windows and see what steps are needed to get all the modules installed that it uses.

What version of Webcontrol firmware do you have, right now it will only work on 03.02.09 and 03.02.11. If you have a different version I'll need a copy of the web interface in order to make it work.

In the next couple of days I'll try to get something basic released and I'll create a new topic when that happens.
 
Suggestions for new firmware...

1. a variable that is TRUE when the clock is closely synchronized to NTP, and FALSE when clock can not be synchronized to NTP.

2. I’d like a command that wrote HTTP urls so i can have webcontrol1 could set outputs etc on webcontrol2. either by firmware inside or by small widget (Visual Basic?) Program – either way would be fine, Has anyone written one of these?

3. I’d like a small widget (Visual Basic?) Program that showed the inputs and outputs states for a number of webcontrol boards and buttons to change the outputs, for unto 8 webcontrol boards, currently I have 5 running on my network) Has anyone written one of these?

4. An easy way to update firmware over the LAN - maybe “clone firmware from other board” at 192.168.n.n
 
3. I’d like a small widget (Visual Basic?) Program that showed the inputs and outputs states for a number of webcontrol boards and buttons to change the outputs, for unto 8 webcontrol boards, currently I have 5 running on my network) Has anyone written one of these?


xapmcsWebControl provides a browser UI for multiple WebControl boards. It provides an xAP network interface, but you do not need to use that aspect of it.
 
Suggestions for new firmware...

1. a variable that is TRUE when the clock is closely synchronized to NTP, and FALSE when clock can not be synchronized to NTP.

2. I’d like a command that wrote HTTP urls so i can have webcontrol1 could set outputs etc on webcontrol2. either by firmware inside or by small widget (Visual Basic?) Program – either way would be fine, Has anyone written one of these?

3. I’d like a small widget (Visual Basic?) Program that showed the inputs and outputs states for a number of webcontrol boards and buttons to change the outputs, for unto 8 webcontrol boards, currently I have 5 running on my network) Has anyone written one of these?

4. An easy way to update firmware over the LAN - maybe “clone firmware from other board” at 192.168.n.n

I think having NTP status (or sync'd with whatever the 1wire clock is) available would be nice and is a reasonable request, you might want to email cai about this.

I wish they would give out the firmware, a couple of business wanted me to implement something similar to my setup for them and they changed their mind once they found out the upgrade method.
 
I believe the upgrade is not a matter of policy, but of technology. The product does not have field-programmable devices. Only factory equipment. For a product that changes as often as WebControl the lack of field upgrade is a real downer.
 
I agree about the lack of field firmware upgrades. If you find it necessary to upgrade and have a working system, you will need two systems. The low cost actually makes this possible, but still a pain.
 
I believe the upgrade is not a matter of policy, but of technology. The product does not have field-programmable devices. Only factory equipment. For a product that changes as often as WebControl the lack of field upgrade is a real downer.

It is a matter of policy, per numerous requests to CAI. I even offered to sign something saying I wouldn't distribute it. Assuming there is program flash space available they could make it upgradeable via the http interface. Even if it wasn't via the interface a PIC programmer is pretty cheap to build/buy
 
Thanks for your suggestions, MC2000!

NTP protocol is implemented using UDP, not TCP. That protocol is an unreliable protocol. This means, if any NTP device sends out request, it may or may not receive reply. UDP protocol does not care if the replies lost and not mark that as failure. It simply at certain interval sending out one request. The most possible reason for NTP failure is network not reachable. However, when that happened, the email function is unlikely to function, either.

To be able to communicate between the boards and control I/O that way is an interesting suggestion. However, WebControl8 board does not have enough code space to implement such a feature in it. We may implement that in the future WebControl32 board, so that it could query other WebControl8 boards. But we may not get that done in its initial release. At the mean time, xapmcsWebControl does allow you to query multiple WebControl8 boards and set I/O accordingly. JamesG is working on his perl library that could also help control multiple WebControl boards.

As to firmware update, we love to be able to make it field updateable. One restriction on the WebControl8 board is its code space. Another one is copy protection. There was a company came to us before asking a copy of the firmware. He told us that he could make board cheaper than us. Of course, we do all the engineering work, he only copy our firmware to his board, which is possible to make it cheaper. We are sorry this caused trouble for all the users; they have to send the board in for firmware updates. But we are trying hard to make its cost reasonable. Based on customers' feedback and requests, we add functions and features in all the time, but many users may not really need all those newer features.

We truly thank you for all your inputs.
 
Based on customers' feedback and requests, we add functions and features in all the time, but many users may not really need all those newer features.
The problem with this philosophy is that anyone who tries to use WebControl in their system needs to develop integration software for a specific version of the WebControl. The engineering that was done to integrate a specific version of WebControl cannot be used for the next customer because when that next customer orders the WebControl they get the "improved" version. Most of the integration software that I have deveoped was done using techniques of learn as you go with the WebControl. There was no documented API that I could depend upon.

Without a document describing how to communicate with the WebControl then there is no mechanism to document the changes with each new firmware release and no mechanism by which the WebControl engineers would be able to have any consideration for backward compatiblity as new features are added.

It would be like the chip manufacturer comming out with new "improved" chips every few months and reroute the pinouts of the devices and let their customer redesign their board layout for each batch of chips that are delivered. Of course they would not tell you what the new pinout is, you have to discover it yourself after you learned the new lot was different.

After doing this with three or four versions of WebControl I gave up.
 
Hi Michael, Sorry for the frustration.
The migration from BRE to PLC is significant. However, other incremental updates on BRE and PLC firmware are not that significant different. Added features and funcitons do not alter existing funcitons. We are focused on the PLC firmware development in last year, no plan to change that in the future. In the /getall.cgi reply, we actually report the firmware version number to help ease the pain of software integration.

Adding functions and features does cause trouble for software integrators. If you have any suggestion howcan we do better, please do let us know. We do love to hear from you. A lot of HomeSeer users are love to use your program to support WebControl in their setup.
 
Hi Michael, Sorry for the frustration.
The migration from BRE to PLC is significant. However, other incremental updates on BRE and PLC firmware are not that significant different. Added features and funcitons do not alter existing funcitons. We are focused on the PLC firmware development in last year, no plan to change that in the future. In the /getall.cgi reply, we actually report the firmware version number to help ease the pain of software integration.

Adding functions and features does cause trouble for software integrators. If you have any suggestion howcan we do better, please do let us know.  We do love to hear from you.  A lot of HomeSeer users are love to use your program to support WebControl in their setup.
You really need to find a way to let people upgrade the firmware at home. If that means a small piece of hardware or something that plugs into the board to protect some encryption or something then I think you should do it. But mailing in a $35 item and waiting 10 days and having it cost you $20 to get it updated, is really pretty backward.
 
Back
Top