Programming Cai WebControl PLC

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.
Thanks for your input Lou.
The problem Michael having is not firmware update. Rather is how to best having the management software running on top boards with different version of firmware. Each time when a new firmware release, there are maybe one or two new features or functions or fix. Then his customers running the management software will ask for supporting those features. The biggest headache for Michael was when we released PLC firmware and migrate away from BRE firmware.

The WebControl8 CPU has very limited RAM and ROM. There is no space to support user update without losing some features. If we implemented user update feature and taking out some functions, that would be backward, too. With not much space left, the firmware change will not be much in the future.
 
The problem Michael having is not firmware update. Rather is how to best having the management software running on top boards with different version of firmware. Each time when a new firmware release, there are maybe one or two new features or functions or fix. Then his customers running the management software will ask for supporting those features. The biggest headache for Michael was when we released PLC firmware and migrate away from BRE firmware.

Dont agree on this one and missiing my point. The BRE to PLC is a different product and one would expect a different interface. No issue there. It is also not the problem of old customers wanting new features.

The problem is of new customers wanting the prior features available through the integration software, but they cannot have them because the new firmware presents itself differently to the integration software. What used to work with firmware version x.y.z no longer works with version x.y.z+1. Similarly, old customers cannot upgrade to new firmware because new firmware does not work the same. Just as a circuit card no longer works if the chips populating it have different pinouts even though all the internal functionality of the chip still has everything and more than the prior version.
 
Thanks for your input Lou.
The problem Michael having is not firmware update.  Rather is how to best having the management software running on top boards with different version of  firmware. Each time when a new firmware release, there are maybe one or two new features or functions or fix. Then his customers running the management software will ask for supporting those features.  The biggest headache for Michael was when we released PLC firmware and migrate away from BRE firmware.

The WebControl8 CPU has very limited RAM and ROM. There is no space to support user update without losing some features.  If we implemented user update feature and taking out some functions, that would be backward, too. With not much space left, the firmware change will not be much in the future.
I don't agree. If I create something that integrates with a cai, I want to ensure that all of my users are on the same firmware. If you keep changing the firmware and shipping different versions and the user can't modify the firmware, it is impossible to keep everyone on the same page.And when it is time to upgrade the firmware/software on the integrated device, you would want all the cai's to update at the same time. Again, not possible.
 
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.

i'd also like the ability to adjust the secounds between NTP polling, and only send emails if the NTP recently checked to be closely synchronized to NTP. as such i can use logic to delay sending an email till the board has a high likelhood of external network being up.
or to only perform time sensitive outputs when the NTP is closely synchronized to NTP.

alternatively an PLC operation that has the the ability to ping an (n.n.n.n) ip address and return T/F to indicate network being up. such i can use logic to delay sending an email.

thanks
mc2000
 
I owned the first gen Webcontrol device and sold it for that reason; IE: I originally paid $35 USD for it; which was a very good price. I did send it back for a modification such that I could utilize humidity sensors.

Personally I am OK with doing JTAG stuff and would have no issues purchasing another one if I could do my own firmware updates on it.

The board really does have a lot of potential for the DIY HA person; but its stifled; as noted by the above posts.

It would also be nice to be able to fit it with any Maxim 1-wire temperature device (parasitic or non parasitic) as a start and maybe put some code in such that it would work with other 1-wire devices. Today I still utilize 2 Temp-08's, 1 Temp-05 and 3 9097's to do all kinds of stuff.

Relating to NTP; ideally having a choice of what specific NTP server to talk to would be easier; I personally use internal NTP and always have an issue if a device trys to talk outside of my network (for just NTP stuff). (I have modified embedded linux appliances base OS just to suit my network time thing).

BTW some where in my HA junk pile I do have a combo PIC/Eprom do all programmer (think it has a parallel connector on it).
 
Dont agree on this one and missiing my point. The BRE to PLC is a different product and one would expect a different interface. No issue there. It is also not the problem of old customers wanting new features.

The problem is of new customers wanting the prior features available through the integration software, but they cannot have them because the new firmware presents itself differently to the integration software. What used to work with firmware version x.y.z no longer works with version x.y.z+1. Similarly, old customers cannot upgrade to new firmware because new firmware does not work the same. Just as a circuit card no longer works if the chips populating it have different pinouts even though all the internal functionality of the chip still has everything and more than the prior version.

Michael,

Thanks for your input. From my support in last three years, we only add function and not remove function, I could be wrong and you can be right. I think some confusions could be caused by different firmware versions. Basically, WebControl has two major different firmwares: BRE and PLC. In them, there are two different hardware revision resulted firmware different. hardware rev 2.0.2 and 2.2.2.

BRE firmware are started version 2.x.x. PLC firmware starts with 3.x.x. For the hardware revision 2.0.2, PLC firmware version is 3.1.x. We started making hardware rev 2.2.2 board when 2.0.2 board firmwre version at 3.1.7. So the first version of firmware for the board with hw rev 2.2.2 is 3.2.7. The latest firmware for hardware 2.0.2 is 3.1.9 and latest firmware for hardware rev 2.2.2 is 3.2.11. Due to hardware rev 2.2.2 board using a bigger processor, it can add few more features. The main differences between the 3.1.9 and 3.2.11 firmware are:

1) 3.1.9 not support DS2417 chip for real time clock (if you have NTP over Internet, this is not needed);
2) 3.1.9 not support DS2508 additional 4 analog inputs over 1-wire bus (ds2508 has much lower accuracy than the built-in analog input);
3) 3.1.9 not have additional UROM read only variable in PLC (this is not needed by most user);
4) 3.1.9 not have CTS current total second in PLC, which is not needed by most users.

If you found any function was in previous version and dropped out in newer version, please do let us know. We appreciate your input very much.
 
I don't agree. If I create something that integrates with a cai, I want to ensure that all of my users are on the same firmware. If you keep changing the firmware and shipping different versions and the user can't modify the firmware, it is impossible to keep everyone on the same page.And when it is time to upgrade the firmware/software on the integrated device, you would want all the cai's to update at the same time. Again, not possible.

Lou,

Thanks for your input. For the WebControl32 board, we are working on the wifi and user able to update firmware functions with you. However, WebControl8 board is approaching its processor limit for adding new functions and features, even with hw rev 2.2.2 board. We will continue manufacture and maintain it, but it will not much change from now on.

We are trying hard to maintain the backward compatibility to ease the software integration. I guess we can do a better job on that based on the feedback from this forum. Especially we should work closely with software integrators on supporting their needs. Let me tell you all that your inputs are very important to us. We truly appreciate them and put them all into serious consideration.
 
i'd also like the ability to adjust the secounds between NTP polling, and only send emails if the NTP recently checked to be closely synchronized to NTP. as such i can use logic to delay sending an email till the board has a high likelhood of external network being up.
or to only perform time sensitive outputs when the NTP is closely synchronized to NTP.

alternatively an PLC operation that has the the ability to ping an (n.n.n.n) ip address and return T/F to indicate network being up. such i can use logic to delay sending an email.

thanks
mc2000
Hi MC2000,

In the closed network, you could add DNS entry in your local DNS server; in that record resolves pool.ntp.org to your local NTP server.
WebControl has limited buffer to store up to 8 emails. If older email did not sent and newer email coming into the queue, the older email will be lost. Also, the analog data is formatted during sending. If for sometime the email did not sent, by the time sending, the analog data is no longer meaniningful.

Thanks for your suggestions. We will difinitely put all suggestions into consideration for future development.
 
One of my biggest problems with the firmware is the extra work I've got to do to replace it. I didn't have a problem buying a new board to swap out, now I have an extra one for development. I have to schedule time to remove my existing board, then reinstall the new one and thoroughly test everything. If the TTL outputs were on a header that I could just pop on/off it would be easier. My board is in an enclosure that isn't tiny but it is rather tight working with it. I did all my initial wiring on a table and now the enclosure is mounted on the wall and would be a pain to remove the whole enclosure.

Even if support isn't willing to give out the firmware, I'd be willing to setup a laptop with my pickit programmer hooked to the board and some kind of remote desktop software so they could go in and update it.
 
I owned the first gen Webcontrol device and sold it for that reason; IE: I originally paid $35 USD for it; which was a very good price. I did send it back for a modification such that I could utilize humidity sensors.

Personally I am OK with doing JTAG stuff and would have no issues purchasing another one if I could do my own firmware updates on it.

The board really does have a lot of potential for the DIY HA person; but its stifled; as noted by the above posts.

It would also be nice to be able to fit it with any Maxim 1-wire temperature device (parasitic or non parasitic) as a start and maybe put some code in such that it would work with other 1-wire devices. Today I still utilize 2 Temp-08's, 1 Temp-05 and 3 9097's to do all kinds of stuff.

Relating to NTP; ideally having a choice of what specific NTP server to talk to would be easier; I personally use internal NTP and always have an issue if a device trys to talk outside of my network (for just NTP stuff). (I have modified embedded linux appliances base OS just to suit my network time thing).

BTW some where in my HA junk pile I do have a combo PIC/Eprom do all programmer (think it has a parallel connector on it).

Thanks Pete for your continoued support and suggestions.

There are different users for WebControl. For HA users, temperature change is not expected very fast. So that parasite sensor is okay, although that will slow down the whole 1-wire bus. For scientific use and industrial use, temperature change can be much faster. Each parasite sensor will hold the 1-wire bus for one second during temperature conversion. To get the reading of a particular sensor, it will take up to 8 seconds, when there are 8 sensors attached.
In our current logic, we are able to read all the sensors in two seconds max, most time is within one second.

If you have local NTP server, you probably also have local DNS server as well. You could add pool.ntp.org in your local DNS server and point that to the local NTP server. In your DNS server, you set the resolve sequence as FILE first, then DNS. That way the NTP will always resolved to your local NTP server.

WebControl8 board is getting mature. There is not much change expected. Although we will continue improve it, it will not have too much look and feel differences.

I noticed in one post on this forum you mentioned to have WebControl as IR blaster. I think for the need like that, this forum could start an open source firmware development for Webcontrol8.

Thanks for all your inputs.
 
One of my biggest problems with the firmware is the extra work I've got to do to replace it. I didn't have a problem buying a new board to swap out, now I have an extra one for development. I have to schedule time to remove my existing board, then reinstall the new one and thoroughly test everything. If the TTL outputs were on a header that I could just pop on/off it would be easier. My board is in an enclosure that isn't tiny but it is rather tight working with it. I did all my initial wiring on a table and now the enclosure is mounted on the wall and would be a pain to remove the whole enclosure.

Even if support isn't willing to give out the firmware, I'd be willing to setup a laptop with my pickit programmer hooked to the board and some kind of remote desktop software so they could go in and update it.

Hi James,

Sorry for the trouble you have to go through. We did add those features you requested in 3.2.11 firmware. Hopefully those work for you.
How is your perl library going along? It is a very powerful library can generate PLC logic code. I am sure it will be helpful for many users.

Thanks!
 
3 hours into swapping my board out and I'm almost done.

I figured out why it's constantly complaining about "Invalid string length for GenCfg data", My broswer has the javascript code cached so it was trying to use the old code on the new board. I think in the future if there is a change to the javascript the filenames should be changed (maybe include the version number). I didn't have this problem in testing the board but when the IP address was changed to match the old one my browser decided to use the cached files. If you run into this clear your browser cache and it should be solved

I also forgot about noting which temp sensor was asssigned to which T1..8, so instead of physically tracing the sensors (I have them marked on the cable), I decided to hook up my old board and pull the temp sensor data and post it to the new board.

On my perl code TODO list I added an entry to code up something to do a complete backup of the board config, could be really useful
 
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.

Hi CAI_Support !

Any news about the WebControl-32 ?

Can you tell us a little bit about the technik and when you will release it !

/Staffan
 
WebControl 32 is still under development. It has gone through four hardware revisions, current testing board is rev5.
It has twice TTL input and output compared with WebControl8. Its hardware cost is three times the WebControl8.
We hope it can be release later this year or begining next year. Due to its cost of making is three times more
expensive, its price will be much higher. Its firmware is very complex also.

WebControl is not for replacing WebControl8, they fit different needs.
 
About a month ago, we start shipping firmware V3.2.13 for hardware 2.2.2 WebControl8.
V3.2.12 had one fix on the GUI MAC address string not properly NULL terminated.
V3.2.13 added a field in the "General" tab allowing user to adjust 1-wire timing.
Although STAR configuration on 1-wire bus is bad, having stub wire longer than 1ft connected to 1-wire bus is also bad, there are situations people will have the need. Those configuraitons will cause a lot of false signal on the bus. MAXIM recommend to add resistors to reduce those bounced signals. In our testing, without any resistor, the bounced signals can be so strong, caused the CPU to reject the communication from some sensors, or even all sensors. By adjusting the timing window, you may be able to pick a timing that sensors working better. Please note, nearby sensor may no longer in the timing window if timing is set longer than 15uS. You also need to recycle the power for change taking effect.
 
Back
Top