Sunday, February 21, 2010
EEMS
used in BOA project
http://www.prophetsuite.com/
http://www.activelogix.com/ (by Ex Tridium developer)
From Excel to MySql:
1. Export your data from Excel to a flat.csv file.
2. Put that flat.csv in C:\ (just for convenience)
3. Launch mysql command or use MySQL Quer Browser:
LOAD DATA LOCAL INFILE 'C:\\flat.csv' INTO TABLE tblTest FIELDS TERMINATED BY ','
ENCLOSED BY '"' LINES TERMINATED BY '\n'
(field1, field2)
If you have an extra character after the field, use this:
LINES TERMINATED BY '\r\n'
If you don't want to have the column names imported, open the .csv file with NOTEPAD and delete them or use IGNORE ROW in the SQL
Alternative steps:
1. create a ODBC connection to the destination MySQL database.
2. Open MS Access and create a new access database.
3. Import the excel data creating a new table.
4. Export the new table just created selecting "Database ODBC()" from file Type list.
5. Select the ODBC connection related to the destination MySQL database
http://www.straxx.com/excel/password.html
http://www.prophetsuite.com/
http://www.activelogix.com/ (by Ex Tridium developer)
From Excel to MySql:
1. Export your data from Excel to a flat.csv file.
2. Put that flat.csv in C:\ (just for convenience)
3. Launch mysql command or use MySQL Quer Browser:
LOAD DATA LOCAL INFILE 'C:\\flat.csv' INTO TABLE tblTest FIELDS TERMINATED BY ','
ENCLOSED BY '"' LINES TERMINATED BY '\n'
(field1, field2)
If you have an extra character after the field, use this:
LINES TERMINATED BY '\r\n'
If you don't want to have the column names imported, open the .csv file with NOTEPAD and delete them or use IGNORE ROW in the SQL
Alternative steps:
1. create a ODBC connection to the destination MySQL database.
2. Open MS Access and create a new access database.
3. Import the excel data creating a new table.
4. Export the new table just created selecting "Database ODBC()" from file Type list.
5. Select the ODBC connection related to the destination MySQL database
http://www.straxx.com/excel/password.html
Sunday, April 19, 2009
Single enumeration
Sunday, January 27, 2008
Carrier R2 driver
33CNDRVCCN $2500
Wednesday, October 03, 2007
Game Theroy
Saturday, September 22, 2007
The Palm Islands and The World Islands
Data Visualization
This example shows how powerful it will be if you have all the data together and analysis them.
One of the summarizing comments from Youtube:
There are no third world countries.
The animations make it easy to understand correlations between variables.
Averages hide (often) huge differences within a statistical population.
The data is spread across multiple systems and need to be linked and searchable.
More info can be found at here
Monday, August 20, 2007
Controller programming library 2
How do we differentiate controller A to B? I/O, point assignment and sequence.
If we have a master I/O list for all controllers, it's easy to figure out the difference between them by putting them side by side.
I would like to have the software cover the difference of point assignment for the programmers as long as they are in one controller. As I mentioned before, the logic layer is above the physical point assignment and it won't be affected by the order of I/O or pseudo points in a controller.
Now, here comes sequence. In TXT library, I setup modules that match the sequence blocks on the drawing. And I setup CID that represent the selected sequences in each controller. While that works pretty well, it may not fit all real applications.
Firstly, one controller may have more than 1 units. So CID must be arranged per unit.
Secondly, there are always new sequences that were not included in the library. So the library has to be updated.
If we have a master I/O list for all controllers, it's easy to figure out the difference between them by putting them side by side.
I would like to have the software cover the difference of point assignment for the programmers as long as they are in one controller. As I mentioned before, the logic layer is above the physical point assignment and it won't be affected by the order of I/O or pseudo points in a controller.
Now, here comes sequence. In TXT library, I setup modules that match the sequence blocks on the drawing. And I setup CID that represent the selected sequences in each controller. While that works pretty well, it may not fit all real applications.
Firstly, one controller may have more than 1 units. So CID must be arranged per unit.
Secondly, there are always new sequences that were not included in the library. So the library has to be updated.
AX domain-wide authentication
a. Add a String slot to the WebService and name it cookieDomain.
b. Enter the domain name in the field.
c. When domain name is used the cookie will log you on with the same
logon of the first station. If you do not have the stations registered in your
DNS Server you can workaround by putting the host in the host file
(Platform/TCP/IP Configuration).
i. For example:
cookieDomain = tridium.com
host file:
jace1.tridium.com
jace2.tridium.com
jace3.tridium.com
192.168.1.100:82/ord?station:|slot:/Drivers/LonNetwork/VAV_001
b. Enter the domain name in the field.
c. When domain name is used the cookie will log you on with the same
logon of the first station. If you do not have the stations registered in your
DNS Server you can workaround by putting the host in the host file
(Platform/TCP/IP Configuration).
i. For example:
cookieDomain = tridium.com
host file:
jace1.tridium.com
jace2.tridium.com
jace3.tridium.com
192.168.1.100:82/ord?station:|slot:/Drivers/LonNetwork/VAV_001
Controller programming library
How to easily figure out the difference between 2 controller programming? Or more?
By point table? CVAHU02a to CVAHU01b, +FrzAlm +OaFlowSig +RaCO2 +RmRh
Following common sense, I know FrzAlm will stop fan in emergency. I don't know if those 3 additional AI are for monitoring only or acutually bring in more sequence.
By CID? +33(CO2 control) +34(outside air flow measurement and control)
Combining point table, I get a rough idea of what's the differece. But there's more.
Inputs, outputs, AV and BV assignments. I can ignore this in TXT library, since the logic layer is abstract and points are identified by their name, not the physical assignment. But in GRA library, I lose the control and the tool does not separate them. When I move programs from CVAHU01b to CVAHU02a, points are associated with their ID, not name. Very ugly! I have to manually go through each point to make sure logics are not connected to wrong points due to assignment changes.
The differences are always I/O, assignement and sequence. But the above process only applies to those controllers in the library. In real projects, things are more complicated. Normally, they don't have CID. (CID reminds me of how I differtiate controllers when I programmed them and they came from sequences.)
I have to identify them on HW drawings, in sequences. And they were checked by HW designer but this very simple result was left outside of the drawings. It's too bad that one can not pass all the useful information to downstreams.
That's why we need a revolution of the design process. Some of the key elements helping efficient engineering have to be identified and recorded at the very beginning of the job.
Great success begins at the beginning!
By point table? CVAHU02a to CVAHU01b, +FrzAlm +OaFlowSig +RaCO2 +RmRh
Following common sense, I know FrzAlm will stop fan in emergency. I don't know if those 3 additional AI are for monitoring only or acutually bring in more sequence.
By CID? +33(CO2 control) +34(outside air flow measurement and control)
Combining point table, I get a rough idea of what's the differece. But there's more.
Inputs, outputs, AV and BV assignments. I can ignore this in TXT library, since the logic layer is abstract and points are identified by their name, not the physical assignment. But in GRA library, I lose the control and the tool does not separate them. When I move programs from CVAHU01b to CVAHU02a, points are associated with their ID, not name. Very ugly! I have to manually go through each point to make sure logics are not connected to wrong points due to assignment changes.
The differences are always I/O, assignement and sequence. But the above process only applies to those controllers in the library. In real projects, things are more complicated. Normally, they don't have CID. (CID reminds me of how I differtiate controllers when I programmed them and they came from sequences.)
I have to identify them on HW drawings, in sequences. And they were checked by HW designer but this very simple result was left outside of the drawings. It's too bad that one can not pass all the useful information to downstreams.
That's why we need a revolution of the design process. Some of the key elements helping efficient engineering have to be identified and recorded at the very beginning of the job.
Great success begins at the beginning!