Thursday, July 31, 2008

CSV Logging in FactorySQL

As of version 4.2.3, FactorySQL can now be used with the CSV ODBC driver that is included with Windows. While we strongly advocate the use of databases instead of CSV when possible, sometimes it is useful or necessary to log simple data directly to a text file. The following is a short How-To illustrating the process.

Step 1: Create ODBC data source
Go to the ODBC administrator by going to Control Panel->Administrative Tools->Data Sources (ODBC) in Windows, or by clicking the appropriate button on the FactorySQL DSN connection configuration window.

Create a new System DSN datasource using the "Microsoft Text Driver".







Next, a config screen for the driver will appear:

It is recommended that you deselect the "Use Current Directory" option, and select a specific folder, so that you know exactly where the file will be. This is important, because you'll have to manually create the file there in a second.

Step 2: Configure the FactorySQL Data Connection

Create a new data connection under "Data Connection Settings", select DSN Connection under "Connection Type", and select the DSN that you just created.

To make things easy, just select the "Access" translator from the translator selector list. In reality it doesn't really get used, but left on automatic we would get a "Translator Not Found" error later, because we're using a different driver type.


Step 3: Set up the group/file
A few things need to be done:

1) Items need to be added to the group. Their column names will relate directly to the column names in the text file.

2) The text file must be manually created (for example, by right-clicking in the folder and selecting "New->Text File" from the Windows context menu). The text file must be named "tablename.txt", without quotes, where tablename is the same as the table name setting on the FactorySQL group.

3) The text file must be edited to include the column names in the first line. This is how the ODBC driver will like the FactorySQL items with the correct position in the file.

The following image illustrates all of these points:




Step 4: Start Logging
Hit the "Start" button to start the group. You'll be presented with a screen stating that the table could not be verified:

This is normal- the CSV odbc driver doesn't support SELECT statements or schema information. Just hit "Yes" to bypass the check and continue.






And... voila! You should now have data being logged to your text file!

If you have any questions or comments, please feel free to post them to this thread.

On small note: You may be thinking "well, if I have to manually click 'yes' to start the group, does that mean it won't start on its own in the case of a reboot?". The answer is that the table check is a frontend-only feature- the group will start correctly on its own and without any manual intervention when the FactorySQL service is started.

Friday, July 11, 2008

End-User Highlight: Goosetown Communications

End-User Highlight: Goosetown Communications SACRAMENTO, CA JULY 11, 2008 - This month we interviewed Joey Gottlieb from Goosetown Communications, a leading service provider for communications equipment used by public safety agencies.

IA: What do you use Inductive Automation software for in your company or facility?

Joey: It is used to monitor a 14-site radio network. We monitor AC and DC voltages, Security, Equipment Alarms, Tower Lights (for FAA and FCC compliance), temperatures and generators.

IA: Why did you choose Inductive Automation software?

Joey: The clientless architecture and the ability to bring cameras and other imagery in to the system.

IA: What features have you found most useful to your specific process?

Joey: SQLTags and the graphing objects.

IA: How has the introduction of SQL affected your development and implementation?

Joey: It has made it much simpler.

IA: What have you found to be the main benefits of the software?

Joey: Ease of use and the total integration of the package.

IA: How do you plan on using IA software in the future?

Joey: We are planning a similar installation for a mission-critical communications system. This system will also have and SNMP to OPC bridge integrated into the system for total network monitoring through the IA software.

IA: Is there anything else you can say regarding your experience with Inductive Automation?

Joey: We have only needed to call support once and they answered the questions immediately. The forums are a wealth of information.

Screenshots:

Customer Diagrams Illustrate Architectural Simplicity

Customer Diagrams Illustrate Architectural Simplicity SACRAMENTO, CA JULY 11, 2008 - At Inductive Automation, we enjoy hearing about what our customers have accomplished with our software. We believe our architecture and feature set enable clean and robust solutions that cut through traditional difficulties to make true enterprise integration a reality, and this is often reflected in comments we receive from customers.

Recently a prospective customer was working on a proposal to replace their current data acquisition system with our software. After creating before-and-after diagrams, they were so struck by the disparity in complexity and the simplicity of the Inductive Automation solution that they felt compelled to pass the diagrams along. We, in turn, felt it would make an interesting newsletter piece.

For more information about how our software might be able to help simplify your system architecture, feel free to give us a call at 800-266-7798, or go to our website to sign up for a informative (and no-pressure!) web demo.

Network Traffic Before



Network Traffic After


Inductive Automation
Inductive Automation pioneered the first full-featured web-launched HMI/SCADA system in the world. Its standards based, database-centric architecture receives accolades from plant managers, IT managers, and system integrators worldwide. With a commitment to software quality and technical support second to none, Inductive Automation is at the forefront of industrial software.

Top 5 Unconventional Uses of FactoryPMI

Top 5 Unconventional Uses of FactoryPMI SACRAMENTO, CA JULY 11, 2008 - FactoryPMI is a full featured and flexible SCADA platform. While most customers use FactoryPMI for traditional SCADA tasks such as status and control, trending, alarm management, and downtime tracking, its flexibility has spawned some more creative uses. Much of its flexibility stems from its database-centric architecture and the ability to use the powerful, industry-standard python language for scripting. These features make it possible to accomplish some very useful and advanced tasks that are often very difficult or impossible in traditional SCADA systems.

The following examples are meant to illustrate the breadth of capability that FactoryPMI offers. Some are very non-traditional tasks for industrial software, but when integrated into a larger product can make a great impact towards the goal of "enterprise-wide integration". All of the following have been successfully implemented by existing customers.

  1. CRM (Customer Relationship Management) System - Databases are first-class components to FactoryPMI. It is very easy to build screens which display and interact with data in any relational database system, and often quicker than in software dedicated to that task. With the ability to connect to an unlimited number of data sources, why stop with industrial process information? Many customers have added CRM/ERP type functionality to their projects, enabling efficient and cohesive management of information, from invoice to production.

  2. Equipment & Inventory Tracking - Many companies have difficulty tracking inventory or equipment that gets shared among many employees. It's easy to track this information with FactoryPMI, utilizing bar codes, RFID, or other means. Simple, user-friendly screens can be created that allow users to check out and return equipment, and for managers to quickly see usage, inventory levels, and current status.

  3. Overhead Display - Create a separate project with large-format components and launch it on a big display screen to instantly convey information to many people at once. Many customers have found that displaying current production statistics boost efficiency dramatically.

  4. Public Gateway - Given that any number of projects can be created, each with their own security and database settings, its very easy to use FactoryPMI to create bridges between your process and the public. Create limited read-only projects to share information with interested parties, or create a special data-entry project to allow third-party partners to interact with your system. All of this can be done in a safe, secure fashion without providing access to your primary SCADA projects.

  5. Integrated Dashboards - FactoryPMI allows the creation of any number of projects, which can run as applications or applets. Combining applets with the auto-login feature allows you to embed FactoryPMI projects in existing web pages (for example, on your intranet). In this way you can create robust, useful dashboards for nearly any purpose.

Inductive Automation
Inductive Automation pioneered the first full-featured web-launched HMI/SCADA system in the world. Its standards based, database-centric architecture receives accolades from plant managers, IT managers, and system integrators worldwide. With a commitment to software quality and technical support second to none, Inductive Automation is at the forefront of industrial software.

Sunday, June 1, 2008

Two new components were added in FactoryPMI 3.2.0

Two new components were added in FactoryPMI 3.2.0

The Sound Player component and the Scriptable Canvas component
SACRAMENTO, CA JUNE 18, 2008 - Two new components were added in FactoryPMI 3.2.0: The Sound Player component and the Scriptable Canvas component. The Sound Player component brings first-class audio support to FactoryPMI, enabling auditory alerts with no scripting required. The Scriptable Canvas component is an advanced component that allows a designer to programmatically control how the component is drawn on the screen using vector graphics. This short guide will bring existing users up to speed on the use of these two new components.


Sound Player Component

The Sound Player component is a simple invisible component that can be found on the Misc palette. During design time, the component looks like a small speaker icon on your window, but at runtime the component will not be visible. To use the sound player component, first you need a sound clip to play. The sound player component will play any *.wav file. To add your wav file to the Sound Player component, simply browse for the file by setting the component's Sound Data property. The wav file will then be embedded into the component itself, meaning that any launched clients do not need file access to the original sound file.

Once your wav file is embedded in the Sound Player component, the only thing left to do is to configure the component by telling it when to play the sound! The Sound Player component has two modes:
On Trigger  Sound will be played when the component's Trigger property is true.
Manual  Sound will be played when its play() function is invoked via a script.

When the sound is prompted to play, either manually or by trigger, it can play in one of three loop modes:

Play Once  The sound clip will be played once when prompted.
Loop Forever  The sound clip will loop forever when triggered, or until the stop() function is called via a script.
Loop N Times  The sound clip will loop for N iterations when prompted, where N is the value of the component's Loop Count property.

In most cases, it will be easiest to use the component in On Trigger mode. Suppose you have a SQLTag that represents an alarm condition. Simply drag that tag onto the Sound Player's Trigger property, and then choose if you want the alert to play once or loop. That's all there is to adding audio alerts to a FactoryPMI screen!


Paintable Canvas Component
The Paintable Panvas component was introduced by popular demand from some of our more advanced users. The component is intended for use by users who are very comfortable with FactoryPMI's embedded Python scripting engine. The component allows a designer to write programmatic commands that control with exacting detail how the Paintable Canvas appears, functions, and responds to user input during runtime. In theory, any kind of desired component could be created from this component

The component works by responding to a special scripting event called the repaint event. This repaint event will be invoked every time that the component needs to paint itself onto the screen. The event object for this event contains some special properties only found on this event type: graphics, width, and height. The event.graphics object is an instance of a Java 2D graphics context, or more precisely, a java.awt.Graphics2D. (we warned you that this was for advanced users, didn't we?) This graphics object, can then be drawn on from the (0,0) coordinate to the (event.width, event.height) coordinate using any Java2D drawing mechanism. When you first drop a Paintable Canvas component onto a window, you'll notice that there is a bunch of code already in the repaint event. This is example code that should help users get a feel for how Java2D works. Happy scripting!

Inductive Automation
Inductive Automation pioneered the first full-featured web-launched HMI/SCADA system in the world. Its standards based, database-centric architecture receives accolades from plant managers, IT managers, and system integrators worldwide. With a commitment to software quality and technical support second to none, Inductive Automation is at the forefront of industrial software.

New software updates available, improved performance and new features

New software updates available, improved performance and new features

New minor updates have been released for both FactorySQL and FactoryPMI, providing a variety of new features and improvements
SACRAMENTO, CA JUNE 18, 2008 - FactoryPMI 3.2 offers dramatically improved window load times, improved clustered networking, and several very useful new components. The new sound component makes it extremely easy to embed sound files into screens, while the Paintable Canvas component offers savvy users unprecedented control in creating custom displays.

On the FactorySQL side, version 4.2 introduces a variety of robustness-enhancing features such as buffered data logging, which allows short bursts of rapid logging and prevents data loss when switching over to the data cache, a group failure handshake option, and the ability to request values only when the group is triggered. Additionally, new expression functions have been added that enable a range of database operations, making it easier than ever to accomplish complex operations quickly.

Additionally, FactorySQL is now compatible with the CSV ODBC driver that comes installed with nearly every copy of Windows. This means that FactorySQL can now log historical data directly to CSV. For more information, please see the HOWTO article in our Support Forum.

Inductive Automation
Inductive Automation pioneered the first full-featured web-launched HMI/SCADA system in the world. Its standards based, database-centric architecture receives accolades from plant managers, IT managers, and system integrators worldwide. With a commitment to software quality and technical support second to none, Inductive Automation is at the forefront of industrial software.

Integrator Highlight: Bow Networks

IA: Tell us a bit about your company - do you have a focus on any particular industry?
Deryk: Bow Networks is a leader in communications and automation solutions for the electric utility industry. We deliver solutions based on our own products and technologies, supplemented with select 3rd party products.
IA: Why did you choose Inductive Automation software?
Deryk: Factory PMI was appealing for several reasons. The SQL interface allowed it to work directly with our (linux based) eLAN front-end processor, which handles the data collection tasks. The web interface allows for the system to be easily used by both the primary users, and numerous occasional casual users, without needing to distribute and maintain client applications.
IA: What system features do your customers need that you can provide using Inductive Automation products?
Deryk: The delivered system is essentially a small SCADA system, for a municipal electric distribution utility. They don't have a real control center, so their operators access the system from their trucks, over CDMA modems. The FEP sends out emails to their blackberries when alarm conditions arise, signaling the operator to log into the FactoryPMI system.
IA: What have you and your customers found to be the main benefits of the software?
Deryk: The ease of integration with our existing SQL database, and the thin client.
IA: How do you plan on using IA software in the future?
Deryk: We expect to deliver more projects similar to this one, where the system provides a small distribution automation master station. In addition, we want to pursue running the FactoryPMI Gateway on our Linux based eLAN Substation Communications Server, to deliver a substation level HMI.
IA: Is there anything else you can say regarding your experience with Inductive Automation?
Deryk: Positive experience so far, particularly with the technical support team.

Monday, May 19, 2008

Inductive Automation Installation Checklist

SACRAMENTO, CA MAY 15, 2008 - The installation and maintenance of FactorySQL/FactoryPMI based systems involves a wide range of
technologies. Each normal installation consists of at least 4 components: FactorySQL, FactoryPMI, an OPC server and a database. Given that each component has its own set of requirements and caveats, it is important to have an organized game plan when implementing and installing a project.

For that reason, Inductive Automation has put together an installation checklist that will help you with both the installation and the startup of a project.

Inductive Automation Install checklist

Inductive Automation
Inductive Automation pioneered the first full-featured web-launched HMI/SCADA system in the world. Its standards based, database-centric architecture receives accolades from plant managers, IT managers, and system integrators worldwide. With a commitment to software quality and technical support second to none, Inductive Automation is at the forefront of industrial software.

Inductive Automation Adds 8 New Online Videos

SACRAMENTO, CA MAY 15, 2008 - Inductive Automation is pleased to announce the addition of 8 new videos to their online video library. All training videos are free, available for all end users and integrators.



  • FactorySQL Triggers - Learn how to use triggers

  • FactorySQL Action Items - Learn how to use acion items in FactorySQL groups

  • FactoryPMI Colors - Learn all about colors in FactoryPMI

  • FactoryPMI Properties, Binding & Expressions 5 Part Series - Learn all about FactoryPMI component properties and binding
Access to the library is free and available at http://www.inductiveautomation.com/support/videos/.

Integrator Highlight: PACsys, LLC

SACRAMENTO, CA MAY 15, 2008 - This month we interviewed Brian Romano of PACsys, LLC about his experience with Inductive Automation software.

IA: Tell us a bit about your company - do you have a focus on any particular industry?

Brian: PACsys is a 10 year old company made up of engineers and technicians with diverse backgrounds coupled with pointed knowledge in industrial processes and automation. PACsys, an acronym for Process and Automation Control Systems, strives to provide the customer with what they want and need, nothing more nothing less. PACsys customers comprise a broad spectrum of industries.

IA: Why did you choose Inductive Automation software?

Brian: We were actually following a very, very similar path to Inductive Automation, but writing an all encompassing, configurable was not really in our business model, but the end result of the software was absolutely necessary. There were packages of software and/or software components that could do what we needed for our customer base, but at a much greater cost and very time consuming deployment. As soon as we were introduced to the packages produced by Inductive Automation, we immediately abandoned our internal efforts of development of our own package and began purchasing, learning and implementing a package that was so much more feature filled and configurable than ours might have been and for that matter, anyone else's with similar functionality.

IA: What system features do your customers need that you can provide using FactorySQL and FactoryPMI?

Brian: FactorySQL - Acquisition of data from various sources anywhere in the plant that sits on the plant network with placement of the data into an industry standard, stable database.

FactoryPMI - the ability to view production data, downtime and efficiencies by anyone authorized with a simple web browser. No extra client software! With a thought out network WAN and LAN structure, multi-plant data is available to people from anywhere in the world via the Internet.

IA: What have you and your customers found to be the main benefits of the software?

Brian:

  • Relative fast implementation and deployment.

  • Configurable

  • Low up front software costs as well as quick, lower cost development
IA: How do you plan on using IA software in the future?

Brian
: We will continue to use it as we have in the past and use it directly for our end customers. We also will be utilizing both packages of software in an OEM product that we are producing.

IA: Is there anything else you can say regarding your experience with Inductive Automation?

Brian: We have had nothing but extremely supportive and helpful people willing to listen to our wants and needs, with a strong emphasis in product demonstration and training. It starts at the top and that helpful spirit emanates to all levels of employees in the company. We have been involved with many hardware and software manufacturers and can honestly admit that Inductive Automation is very unique in their outstanding, outgoing customer support.

Monday, May 12, 2008

Displaying Alarm Activity Status

Hi, my name is Bobby and I am a part of the tech support team at Inductive Automation. I'm going to be using this blog to post some ideas and tricks for FactoryPMI and FactorySQL that you may not have thought of. If it gets the wheels spinning and you want some more info, feel free to jump into our forums (www.inductiveautomation.com/forum) or email me (rmckenzie AT inductiveautomation DOT com).

Displaying alarm activity status:

I have dealt with this problem a few time times. It's important to understand the way alerts work in FactoryPMI and FactorySQL if you want to do anything other than the basic alarm screen. It's also important to note that the Inductive Automation Demo project already contains components using this, so you can always check that out to see the finished product.

Your database will contain two tables that hold all the information about the alarms. Do not modify either of these unless you REALLY know what you are doing, but feel free to look at them to set up your select queries. These tables are usually named something like alarm_status and alarm_log, but they could be renamed to anything (to check the names, go to the FactorySQL Frontend -> Settings -> Alert Settings in the menu options). For this trick, we will just be looking at the status table, and the important column here is current_state_id. This is the column that tells you what state each alarm is in, and we want to know if there is one or more alarms that are currently active.

To write an SQL query to get this info, you use something like:
SELECT COUNT(*)
FROM alarm_status
WHERE current_state_id != 0
This will count the number of rows that contain active alarms (if current_stats_id is zero, then the alarm is not active). Just put this into a dynamic property on your text label and bind the visibility to true if this property is greater than zero.

There is a lot more you can do here, with different colors indicating more alarms or more severe alarms, display the number of active alarms, or filter out specific groups of alarms, to name a few. You can even do these on a per-project or per-area basis using the point_path or group_name and group_folder columns. Don't forget to give your label a mouseClicked event to switch to your alarm screen!


Robert McKenzie
Inductive Automation

Thursday, April 17, 2008

Success Story: Bronco Wine Company

"Efficiencies have improved upwards of 30%, productivity targets are hit every day." - Paul Franzia

Bronco Wine Company, Ceres, CA (the producer of "Two-buck Chuck") uses FactoryPMI for enterprise-wide process monitoring, control, and troubleshooting. It was a business decision to use this technology, and is paying off handsomely for the Franzia family-owned business.

Click here to read the entire success story

Inductive Automation Introduces Online Video Library

Inductive Automation is pleased to announce the introduction of a new online video library, available starting April 10, 2008. The library features sets of training videos geared to a specific part of Inductive Automation's software. Access to the library is free and available at http://www.inductiveautomation.com/support/videos/.

Inductive Automation attends 2008 North American Interop Conference; Receives 'Self-Tested' certification

Inductive Automation is pleased to announce that for the third year in a row FactorySQL was successfully tested at the OPC Foundation's North American Interoperability Conference. FactorySQL was successfully tested with a large range of industry leading OPC servers, and once again received the OPC Foundation's "Self-Tested" certification.

This year's server field included over 40 products from MatrikonOPC, Kepware, Cogent Realtime Systems, Siemens, Software Toolbox, Wonderware and more. Each server was tested for compatibility with the OPC specification, and operation with FactorySQL. Additionally, FactorySQL once again passed the OPC "Self-Tested" certification test, which is conducted by OPC officials and tests for compliance with the specification and best-practice guidelines.

FactorySQL is a full featured, bi-directional OPC to SQL databridge, providing historical logging, realtime status and control, and more. The OPC foundation is a collective of over 300 top-name companies dedicated to ensuring interoperability in automation by creating and maintaining open specifications for communication. Since the first specification was published in 1996, OPC has become the de-facto standard in the field. Through OPC, FactorySQL is able to effortlessly link nearly all industrial devices with any standard database system.

Sunday, March 9, 2008

FactoryPMI and FactorySQL Benchmark Whitepaper Summary

Ever wondered how many clients you could really run with FactoryPMI's unlimited client licensing? How about the maximum tag throughput of SQLTags on a MySQL database? Inductive Automation has published a whitepaper detailing the results of rigorous performance tests on its products, FactoryPMITM and FactorySQLTM. These benchmarks will answer these questions and more.

You can download the benchmarks here http://www.inductiveautomation.com/products/whitepapers/IABenchmarkWhitepaper2008.pdf.

For those of you who do not have the time to wade through 14 pages of technical benchmark methodology and results, here is the executive summary. The benchmarks are divided up into two major tests. The first test monitored the FactoryPMI Gateway under high concurrent load count to determine how many clients FactoryPMI can support at a time. The test was run on large and small servers, and with large and small projects. With a small server, you can expect to run between 70-100 clients at a time, depending on the size of your project. With a large server, those clients counts go up to 150+. Within these ranges, you can expect tags to update at their proper rates, and expect sub-second write-to-readback round-trip times. Note that these projects were using pure-SQLTags for data display.

The second test involved the SQLTags throughput between FactorySQL and various databases. We found that MySQL with the MyISAM data engine and Microsoft SQL Server gave the best performance. We frequently hear the question: "How many tags can I have". It turns out, the real question should be: "How many tags can I have changing per second". This is because a tag's presence in the system doesn't dramatically affect performance unless it is changing. So, systems with upwards of 250,000 tags are feasible, as long as only a small percentage of them are actively changing every second. This benchmark found that the tag throughput for a low-end server or high-end desktop computer, ranges between 2,500, and 13,000 tag changes per second. The factors that contribute to this are wide spread are explained in detail in the whitepaper.

Inductive Automation
Inductive Automation pioneered the first full-featured web-launched HMI/SCADA system in the world. Its standards based, database-centric architecture receives accolades from plant managers, IT managers, and system integrators worldwide. With a commitment to software quality and technical support second to none, Inductive Automation is at the forefront of industrial software.