<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-1409842829614172256</atom:id><lastBuildDate>Thu, 19 Apr 2012 11:57:32 +0000</lastBuildDate><category>Whitepaper</category><category>press release</category><category>mysql</category><category>integrator highlight</category><category>Linux</category><category>end user highlight</category><category>Networking</category><category>FactorySQL</category><category>how to</category><category>FactoryPMI</category><category>article</category><category>success story</category><category>Newsletter Article</category><category>redundancy</category><category>OPC</category><category>SQLTags</category><category>reporting plugin</category><category>Tips and Tricks</category><category>replication</category><category>announcements</category><category>Goodies</category><title>Inductive Automation</title><description></description><link>http://blog.inductiveautomation.com/</link><managingEditor>noreply@blogger.com (Nathan Boeger)</managingEditor><generator>Blogger</generator><openSearch:totalResults>50</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-843874594793755900</guid><pubDate>Thu, 31 Jul 2008 13:23:00 +0000</pubDate><atom:updated>2008-07-31T06:31:56.095-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>announcements</category><category domain='http://www.blogger.com/atom/ns#'>FactorySQL</category><category domain='http://www.blogger.com/atom/ns#'>Tips and Tricks</category><title>CSV Logging in FactorySQL</title><description>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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1: Create ODBC data source&lt;/span&gt;&lt;br /&gt;Go to the ODBC administrator by going to &lt;span style="font-style: italic;"&gt;Control Panel-&gt;Administrative Tools-&gt;Data Sources (ODBC)&lt;/span&gt; in Windows, or by clicking the appropriate button on the FactorySQL DSN connection configuration window.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.inductiveautomation.com/files/forum_images/csv_howto/csv_001.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://www.inductiveautomation.com/files/forum_images/csv_howto/csv_001.jpg" alt="" border="0" /&gt;&lt;/a&gt;Create a new &lt;span style="font-weight: bold;"&gt;System DSN&lt;/span&gt; datasource using the "Microsoft Text Driver".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.inductiveautomation.com/files/forum_images/csv_howto/csv_002.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://www.inductiveautomation.com/files/forum_images/csv_howto/csv_002.jpg" alt="" border="0" /&gt;&lt;/a&gt;Next, a config screen for the driver will appear:&lt;br /&gt;&lt;br /&gt;It is recommended that you &lt;span style="font-style: italic;"&gt;deselect&lt;/span&gt; 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2: Configure the FactorySQL Data Connection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Create a new data connection under "Data Connection Settings", select &lt;span style="font-weight: bold;"&gt;DSN Connection&lt;/span&gt; under "Connection Type", and select the DSN that you just created.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.inductiveautomation.com/files/forum_images/csv_howto/csv_003.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://www.inductiveautomation.com/files/forum_images/csv_howto/csv_003.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Step 3: Set up the group/file&lt;/span&gt;&lt;br /&gt;A few things need to be done:&lt;br /&gt;&lt;br /&gt;1) Items need to be added to the group. Their column names will relate directly to the column names in the text file.&lt;br /&gt;&lt;br /&gt;2) The text file must be manually created (for example, by right-clicking in the folder and selecting "New-&gt;Text File" from the Windows context menu). The text file must be named "&lt;span style="font-style: italic;"&gt;tablename&lt;/span&gt;.txt", without quotes, where &lt;span style="font-style: italic;"&gt;tablename&lt;/span&gt; is the same as the table name setting on the FactorySQL group.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.inductiveautomation.com/files/forum_images/csv_howto/csv_004.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://www.inductiveautomation.com/files/forum_images/csv_howto/csv_004.jpg" alt="" border="0" /&gt;&lt;/a&gt;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.&lt;br /&gt;&lt;br /&gt;The following image illustrates all of these points:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4: Start Logging&lt;/span&gt;&lt;br /&gt;Hit the "Start" button to start the group. You'll be presented with a screen stating that the table could not be verified:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.inductiveautomation.com/files/forum_images/csv_howto/csv_005.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://www.inductiveautomation.com/files/forum_images/csv_howto/csv_005.jpg" alt="" border="0" /&gt;&lt;/a&gt;This is normal- the CSV odbc driver doesn't support SELECT statements or schema information. Just hit "Yes" to bypass the check and continue.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.inductiveautomation.com/files/forum_images/csv_howto/csv_006.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;" src="http://www.inductiveautomation.com/files/forum_images/csv_howto/csv_006.jpg" alt="" border="0" /&gt;&lt;/a&gt;And... voila! You should now have data being logged to your text file!&lt;br /&gt;&lt;br /&gt;If you have any questions or comments, please feel free to post them to this thread.&lt;br /&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-843874594793755900?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/07/csv-logging-in-factorysql.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-1731791407150709890</guid><pubDate>Fri, 11 Jul 2008 23:24:00 +0000</pubDate><atom:updated>2008-07-27T04:25:44.502-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>end user highlight</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>End-User Highlight: Goosetown Communications</title><description>&lt;b&gt;End-User Highlight: Goosetown Communications&lt;/b&gt; &lt;span class='style12'&gt;SACRAMENTO, CA JULY 11, 2008&lt;/span&gt; - &lt;a href="http://www.goosetown.com/" target="_blank"&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/goosetownlogo.jpg" border="0" align="right" valign="top"&gt;&lt;/a&gt;This month we interviewed Joey Gottlieb from Goosetown Communications, a leading service provider for communications equipment used by public safety agencies.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;What do you use Inductive Automation software for in your company or facility?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Joey&lt;/span&gt;: 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;Why did you choose Inductive Automation software?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Joey&lt;/span&gt;: The clientless architecture and the ability to bring cameras and other imagery in to the system.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;What features have you found most useful to your specific process?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Joey&lt;/span&gt;: SQLTags and the graphing objects.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;How has the introduction of SQL affected your development and implementation?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Joey&lt;/span&gt;: It has made it much simpler.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;What have you found to be the main benefits of the software?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Joey&lt;/span&gt;: Ease of use and the total integration of the package.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;How do you plan on using IA software in the future?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Joey&lt;/span&gt;: 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;Is there anything else you can say regarding your experience with Inductive Automation?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Joey&lt;/span&gt;: We have only needed to call support once and they answered the questions immediately.  The forums are a wealth of information.&lt;br /&gt;&lt;br /&gt;Screenshots:&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/esopus.jpg" border="0"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/Liberty.jpg" border="0"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-1731791407150709890?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/07/end-user-highlight-goosetown.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-7647787964362743213</guid><pubDate>Fri, 11 Jul 2008 23:20:00 +0000</pubDate><atom:updated>2008-07-27T04:23:20.277-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>end user highlight</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Customer Diagrams Illustrate Architectural Simplicity</title><description>&lt;b&gt;Customer Diagrams Illustrate Architectural Simplicity&lt;/b&gt; &lt;span class='style12'&gt;SACRAMENTO, CA JULY 11, 2008&lt;/span&gt; - 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Network Traffic Before&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.inductiveautomation.com/files/article_images/network_traffic_before_larg.jpg"&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/network_traffic_before.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Network Traffic After&lt;br /&gt;&lt;a href="http://www.inductiveautomation.com/files/article_images/network_traffic_after_large.jpg"&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/network_traffic_after.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Inductive Automation&lt;/b&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-7647787964362743213?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/07/customer-diagrams-illustrate.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-2234038340025452805</guid><pubDate>Fri, 11 Jul 2008 23:18:00 +0000</pubDate><atom:updated>2008-07-27T04:22:59.153-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Top 5 Unconventional Uses of FactoryPMI</title><description>&lt;b&gt;Top 5 Unconventional Uses of FactoryPMI&lt;/b&gt; &lt;span class='style12'&gt;SACRAMENTO, CA JULY 11, 2008&lt;/span&gt; - 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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;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.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Equipment &amp; 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.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;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.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;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.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;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.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;Inductive Automation&lt;/b&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-2234038340025452805?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/07/top-5-unconventional-uses-of-factorypmi.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-4697093447885601759</guid><pubDate>Sun, 01 Jun 2008 23:11:00 +0000</pubDate><atom:updated>2008-07-27T04:17:11.809-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>press release</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Two new components were added in FactoryPMI 3.2.0</title><description>&lt;span class='style13'&gt;&lt;b&gt;Two new components were added in FactoryPMI 3.2.0&lt;/b&gt;&lt;/span&gt;&lt;div style='padding-top:6px;padding-bottom:15px'&gt;&lt;table border='0' cellspacing='0' cellpadding='0' width='540' align='center'&gt;&lt;tr&gt;&lt;td align='center'&gt;&lt;i&gt;The Sound Player component and the Scriptable Canvas component&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;     &lt;span class='style12'&gt;SACRAMENTO, CA JUNE 18, 2008&lt;/span&gt; - 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.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/PMISoundPlayer32.png" align="TOP" style="margin:10px 10px 5px 0px;padding:2px;border:1px solid #888888;background-color:#DDD;float:left;"/&gt;&lt;br /&gt;&lt;b&gt;Sound Player Component&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The Sound Player component is a simple invisible component that can be found on the &lt;b&gt;Misc&lt;/b&gt; 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 &lt;tt&gt;*.wav&lt;/tt&gt; file. To add your &lt;tt&gt;wav&lt;/tt&gt; file to the Sound Player component, simply browse for the file by setting the component's &lt;tt&gt;Sound Data&lt;/tt&gt; property. The wav file will then be &lt;i&gt;embedded&lt;/i&gt; into the component itself, meaning that any launched clients do not need file access to the original sound file.&lt;br /&gt;&lt;br /&gt;Once your &lt;tt&gt;wav&lt;/tt&gt; 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:&lt;br /&gt;&lt;b&gt;On Trigger&lt;/b&gt;&amp;nbsp;&amp;nbsp;Sound will be played when the component's &lt;tt&gt;Trigger&lt;/tt&gt; property is &lt;tt&gt;true&lt;/tt&gt;.&lt;br /&gt;&lt;b&gt;Manual&lt;/b&gt;&amp;nbsp;&amp;nbsp;Sound will be played when its &lt;tt&gt;play()&lt;/tt&gt; function is invoked via a script.&lt;br /&gt;&lt;br /&gt;When the sound is prompted to play, either manually or by trigger, it can play in one of three loop modes:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Play Once&lt;/b&gt;&amp;nbsp;&amp;nbsp;The sound clip will be played once when prompted.&lt;br /&gt;&lt;b&gt;Loop Forever&lt;/b&gt;&amp;nbsp;&amp;nbsp;The sound clip will loop forever when triggered, or until the &lt;tt&gt;stop()&lt;/tt&gt; function is called via a script.&lt;br /&gt;&lt;b&gt;Loop N Times&lt;/b&gt;&amp;nbsp;&amp;nbsp;The sound clip will loop for N iterations when prompted, where N is the value of the component's &lt;tt&gt;Loop Count&lt;/tt&gt; property.&lt;br /&gt;&lt;br /&gt;In most cases, it will be easiest to use the component in &lt;tt&gt;On Trigger&lt;/tt&gt; mode. Suppose you have a SQLTag that represents an alarm condition. Simply drag that tag onto the Sound Player's &lt;tt&gt;Trigger&lt;/tt&gt; 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!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/PMIPaintableCanvas32.png" align="TOP" style="margin:10px 10px 5px 0px;padding:2px;border:1px solid #888888;background-color:#DDD;float:left;"/&gt;&lt;br /&gt;&lt;b&gt;Paintable Canvas Component&lt;/b&gt;&lt;br /&gt;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&lt;br /&gt;&lt;br /&gt;The component works by responding to a special scripting event called the &lt;tt&gt;repaint&lt;/tt&gt; event. This &lt;tt&gt;repaint&lt;/tt&gt; event will be invoked every time that the component needs to paint itself onto the screen. The &lt;tt&gt;event&lt;/tt&gt; object for this event contains some special properties only found on this event type: &lt;tt&gt;graphics&lt;/tt&gt;, &lt;tt&gt;width&lt;/tt&gt;, &lt;tt&gt; and height&lt;/tt&gt;. The &lt;tt&gt;event.graphics&lt;/tt&gt; object is an instance of a Java 2D graphics context, or more precisely, a &lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Graphics2D.html"&gt;java.awt.Graphics2D&lt;/a&gt;. (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 (&lt;tt&gt;event.width&lt;/tt&gt;, &lt;tt&gt;event.height&lt;/tt&gt;) 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 &lt;tt&gt;repaint&lt;/tt&gt; event. This is example code that should help users get a feel for how Java2D works. Happy scripting!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Inductive Automation&lt;/b&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-4697093447885601759?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/06/two-new-components-were-added-in.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-1962008867240359557</guid><pubDate>Sun, 01 Jun 2008 23:08:00 +0000</pubDate><atom:updated>2008-07-27T04:11:56.817-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>press release</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>New software updates available, improved performance and new features</title><description>&lt;span class="'style13'"&gt;&lt;b&gt;New software updates available, improved performance and new features&lt;/b&gt;&lt;/span&gt;&lt;div style="'padding-top:6px;padding-bottom:15px'"&gt;&lt;table border="'0'" cellspacing="'0'" cellpadding="'0'" width="'540'" align="'center'"&gt;&lt;tr&gt;&lt;td align="'center'"&gt;&lt;i&gt;New minor updates have been released for both FactorySQL and FactoryPMI, providing a variety of new features and improvements&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;                    &lt;span class="'style12'"&gt;SACRAMENTO, CA JUNE 18, 2008&lt;/span&gt; - 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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 &lt;a href="http://www.inductiveautomation.com/forum/viewtopic.php?f=13&amp;amp;t=3583"&gt;HOWTO article in our Support Forum.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Inductive Automation&lt;/b&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-1962008867240359557?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/06/new-software-updates-available-improved.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-5187909728144335129</guid><pubDate>Sun, 01 Jun 2008 23:03:00 +0000</pubDate><atom:updated>2008-07-27T04:07:58.307-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>integrator highlight</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Integrator Highlight: Bow Networks</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.bownetworks.com/"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_hsWThc1UE9o/SIxW7mWgFAI/AAAAAAAAKOY/2LIFIb0vXGM/s200/bownetworks.jpg" alt="" id="BLOGGER_PHOTO_ID_5227648849377498114" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;Tell us a bit about your company - do you have a focus on any particular industry?&lt;/b&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Deryk&lt;/span&gt;: 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.&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;Why did you choose Inductive Automation software?&lt;/b&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Deryk&lt;/span&gt;: 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.&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;What system features do your customers need that you can provide using Inductive Automation products?&lt;/b&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Deryk&lt;/span&gt;: 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.&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;What have you and your customers found to be the main benefits of the software?&lt;/b&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Deryk&lt;/span&gt;: The ease of integration with our existing SQL database, and the thin client.&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;How do you plan on using IA software in the future?&lt;/b&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Deryk&lt;/span&gt;: 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.&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;Is there anything else you can say regarding your experience with Inductive Automation?&lt;/b&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Deryk&lt;/span&gt;: Positive experience so far, particularly with the technical support team.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-5187909728144335129?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/06/integrator-highlight-bow-networks.html</link><author>noreply@blogger.com (Nathan Boeger)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_hsWThc1UE9o/SIxW7mWgFAI/AAAAAAAAKOY/2LIFIb0vXGM/s72-c/bownetworks.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-5788785987932025188</guid><pubDate>Mon, 19 May 2008 14:22:00 +0000</pubDate><atom:updated>2008-05-19T07:30:28.196-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>how to</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Inductive Automation Installation Checklist</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_hsWThc1UE9o/SDGOwhW3jnI/AAAAAAAAKDw/qt7RhrB7ykY/s1600-h/checklist.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 77px; height: 83px;" src="http://bp0.blogger.com/_hsWThc1UE9o/SDGOwhW3jnI/AAAAAAAAKDw/qt7RhrB7ykY/s200/checklist.bmp" alt="" id="BLOGGER_PHOTO_ID_5202096008828784242" border="0" /&gt;&lt;/a&gt;&lt;span class="'style12'"&gt;SACRAMENTO, CA MAY 15, 2008&lt;/span&gt; - The installation and maintenance of FactorySQL/FactoryPMI based systems involves a wide range of&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.inductiveautomation.com/support/Install_Checklist.pdf"&gt;Inductive Automation Install checklist&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Inductive Automation&lt;/b&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-5788785987932025188?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/05/inductive-automation-installation.html</link><author>noreply@blogger.com (Nathan Boeger)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_hsWThc1UE9o/SDGOwhW3jnI/AAAAAAAAKDw/qt7RhrB7ykY/s72-c/checklist.bmp' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-351686963304683404</guid><pubDate>Mon, 19 May 2008 14:17:00 +0000</pubDate><atom:updated>2008-05-19T07:32:08.523-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Inductive Automation Adds 8 New Online Videos</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.inductiveautomation.com/images/largeicons/video_library.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 68px; height: 68px;" src="http://www.inductiveautomation.com/images/largeicons/video_library.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span class="style12"&gt;SACRAMENTO, CA MAY 15, 2008&lt;/span&gt; - 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.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;FactorySQL Triggers - Learn how to use triggers&lt;/li&gt;&lt;br /&gt;&lt;li&gt;FactorySQL Action Items - Learn how to use acion items in FactorySQL groups&lt;/li&gt;&lt;br /&gt;&lt;li&gt;FactoryPMI Colors - Learn all about colors in FactoryPMI&lt;/li&gt;&lt;br /&gt;&lt;li&gt;FactoryPMI Properties, Binding &amp;amp; Expressions 5 Part Series - Learn all about FactoryPMI component properties and binding&lt;/li&gt;&lt;/ul&gt;Access to the library is free and available at &lt;a href="http://www.inductiveautomation.com/support/videos/"&gt;http://www.inductiveautomation.com/support/videos/&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-351686963304683404?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/05/inductive-automation-adds-8-new-online.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-5459926197820953059</guid><pubDate>Mon, 19 May 2008 14:11:00 +0000</pubDate><atom:updated>2008-05-19T07:36:11.276-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>integrator highlight</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Integrator Highlight: PACsys, LLC</title><description>&lt;span class="'style12'"&gt;SACRAMENTO, CA MAY 15, 2008&lt;/span&gt; - &lt;a href="http://www.pacsysllc.com/" target="_blank"&gt;&lt;img src="http://www.inductiveautomation.com/lib/getImage.php?id=25347&amp;amp;type=int" valign="top" align="right" border="0" /&gt;&lt;/a&gt;This month we interviewed Brian Romano of &lt;a href="http://www.pacsysllc.com/"&gt;PACsys, LLC &lt;/a&gt;about his experience with Inductive Automation software.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;Tell us a bit about your company - do you have a focus on any particular industry?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Brian&lt;/span&gt;: 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;Why did you choose Inductive Automation software?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Brian&lt;/span&gt;: 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;What system features do your customers need that you can provide using FactorySQL and FactoryPMI?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Brian&lt;/span&gt;: 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;What have you and your customers found to be the main benefits of the software?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Brian&lt;/span&gt;: &lt;ul&gt;&lt;li&gt;Relative fast implementation and deployment.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Configurable&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Low up front software costs as well as quick, lower cost development&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;How do you plan on using IA software in the future?&lt;br /&gt;&lt;/b&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;&lt;br /&gt;Brian&lt;/span&gt;: 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;Is there anything else you can say regarding your experience with Inductive Automation?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Brian&lt;/span&gt;: 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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-5459926197820953059?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/05/integrator-highlight-pacsys-llc.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-3734157238952218306</guid><pubDate>Mon, 12 May 2008 17:23:00 +0000</pubDate><atom:updated>2008-05-19T08:10:44.719-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Tips and Tricks</category><title>Displaying Alarm Activity Status</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_hsWThc1UE9o/SDGYVhW3joI/AAAAAAAAKD4/2c8q62OmTpQ/s1600-h/alarm.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_hsWThc1UE9o/SDGYVhW3joI/AAAAAAAAKD4/2c8q62OmTpQ/s200/alarm.png" alt="" id="BLOGGER_PHOTO_ID_5202106540088594050" border="0" /&gt;&lt;/a&gt;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 (&lt;a href="http://www.inductiveautomation.com/forum"&gt;www.inductiveautomation.com/forum&lt;/a&gt;) or email me (rmckenzie AT inductiveautomation DOT com).&lt;br /&gt;&lt;br /&gt;Displaying alarm activity status:&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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 -&gt; Settings -&gt; 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.&lt;br /&gt;&lt;br /&gt;To write an SQL query to get this info, you use something like:&lt;br /&gt;SELECT COUNT(*)&lt;br /&gt;FROM alarm_status&lt;br /&gt;WHERE current_state_id != 0&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Robert McKenzie&lt;br /&gt;Inductive Automation&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-3734157238952218306?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/05/hi-my-name-is-bobby-and-i-am-part-of.html</link><author>noreply@blogger.com (Robert McKenzie)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_hsWThc1UE9o/SDGYVhW3joI/AAAAAAAAKD4/2c8q62OmTpQ/s72-c/alarm.png' height='72' width='72'/><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-2552137955073068807</guid><pubDate>Thu, 17 Apr 2008 11:22:00 +0000</pubDate><atom:updated>2008-05-24T04:24:46.613-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>success story</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Success Story: Bronco Wine Company</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_hsWThc1UE9o/SDf68aE966I/AAAAAAAAKEA/9Sa6hmGSnZA/s1600-h/a_photo_2_buck_chuck.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_hsWThc1UE9o/SDf68aE966I/AAAAAAAAKEA/9Sa6hmGSnZA/s200/a_photo_2_buck_chuck.jpg" alt="" id="BLOGGER_PHOTO_ID_5203903810149149602" border="0" /&gt;&lt;/a&gt;&lt;i&gt;"Efficiencies have improved upwards of 30%, productivity targets are hit every day." - Paul Franzia&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.inductiveautomation.com/company/casestudies/BroncoCaseStudy.pdf"&gt;Click here to read the entire success story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-2552137955073068807?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/04/success-story-bronco-wine-company.html</link><author>noreply@blogger.com (Nathan Boeger)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_hsWThc1UE9o/SDf68aE966I/AAAAAAAAKEA/9Sa6hmGSnZA/s72-c/a_photo_2_buck_chuck.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-4853752421701657207</guid><pubDate>Thu, 17 Apr 2008 11:19:00 +0000</pubDate><atom:updated>2008-04-17T04:22:27.170-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Inductive Automation Introduces Online Video Library</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_hsWThc1UE9o/SAcy3e4YhFI/AAAAAAAAKCw/KaPVv1l921U/s1600-h/movie.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_hsWThc1UE9o/SAcy3e4YhFI/AAAAAAAAKCw/KaPVv1l921U/s200/movie.jpg" alt="" id="BLOGGER_PHOTO_ID_5190173024331531346" border="0" /&gt;&lt;/a&gt;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 &lt;a href="http://www.inductiveautomation.com/support/videos/"&gt;http://www.inductiveautomation.com/support/videos/&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-4853752421701657207?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/04/inductive-automation-introduces-online.html</link><author>noreply@blogger.com (Nathan Boeger)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_hsWThc1UE9o/SAcy3e4YhFI/AAAAAAAAKCw/KaPVv1l921U/s72-c/movie.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-2228877368118939976</guid><pubDate>Thu, 17 Apr 2008 11:11:00 +0000</pubDate><atom:updated>2008-04-17T04:19:35.456-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>FactorySQL</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Inductive Automation attends 2008 North American Interop Conference; Receives 'Self-Tested' certification</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_hsWThc1UE9o/SAcxre4YhDI/AAAAAAAAKCg/t8U2p-9I6go/s1600-h/OPC+Self-Tested+Logo+%28color%29-Small.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 82px; height: 112px;" src="http://bp2.blogger.com/_hsWThc1UE9o/SAcxre4YhDI/AAAAAAAAKCg/t8U2p-9I6go/s200/OPC+Self-Tested+Logo+%28color%29-Small.jpg" alt="" id="BLOGGER_PHOTO_ID_5190171718661473330" border="0" /&gt;&lt;/a&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_hsWThc1UE9o/SAcyB-4YhEI/AAAAAAAAKCo/DeZWaBNET1I/s1600-h/factorysql.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp0.blogger.com/_hsWThc1UE9o/SAcyB-4YhEI/AAAAAAAAKCo/DeZWaBNET1I/s200/factorysql.gif" alt="" id="BLOGGER_PHOTO_ID_5190172105208529986" border="0" /&gt;&lt;/a&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-2228877368118939976?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/04/inductive-automation-attends-2008-north.html</link><author>noreply@blogger.com (Nathan Boeger)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_hsWThc1UE9o/SAcxre4YhDI/AAAAAAAAKCg/t8U2p-9I6go/s72-c/OPC+Self-Tested+Logo+%28color%29-Small.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-5753874714196076166</guid><pubDate>Mon, 10 Mar 2008 00:43:00 +0000</pubDate><atom:updated>2008-03-09T18:21:00.035-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Whitepaper</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>FactoryPMI and FactorySQL Benchmark Whitepaper Summary</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_hsWThc1UE9o/R9SMf4sstyI/AAAAAAAAHWA/qBMGe4sL-no/s1600-h/check.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp1.blogger.com/_hsWThc1UE9o/R9SMf4sstyI/AAAAAAAAHWA/qBMGe4sL-no/s200/check.jpg" alt="" id="BLOGGER_PHOTO_ID_5175916351179241250" border="0" /&gt;&lt;/a&gt;Ever wondered how many clients you could &lt;i&gt;really&lt;/i&gt; 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, FactoryPMI&lt;sup&gt;&lt;small&gt;TM&lt;/small&gt;&lt;/sup&gt; and FactorySQL&lt;sup&gt;&lt;small&gt;TM&lt;/small&gt;&lt;/sup&gt;. These benchmarks will answer these questions and more.&lt;br /&gt;&lt;br /&gt;You can download the benchmarks here &lt;a href="http://www.inductiveautomation.com/products/whitepapers/IABenchmarkWhitepaper2008.pdf"&gt;http://www.inductiveautomation.com/products/whitepapers/IABenchmarkWhitepaper2008.pdf&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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: &lt;i&gt;"How many tags can I have"&lt;/i&gt;. It turns out, the real question should be: &lt;i&gt;"How many tags can I have changing per second"&lt;/i&gt;. 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.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Inductive Automation&lt;/b&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-5753874714196076166?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/03/factorypmi-and-factorysql-benchmark.html</link><author>noreply@blogger.com (Nathan Boeger)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_hsWThc1UE9o/R9SMf4sstyI/AAAAAAAAHWA/qBMGe4sL-no/s72-c/check.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-8351940397456251460</guid><pubDate>Mon, 10 Mar 2008 00:40:00 +0000</pubDate><atom:updated>2008-03-09T18:23:48.974-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>press release</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>MatrikonOPC Tunneller Now Bundled with FactorySQL</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_hsWThc1UE9o/R9SNa4sstzI/AAAAAAAAHWI/RzVo5COA5io/s1600-h/matrikon_logo.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 140px; height: 31px;" src="http://bp1.blogger.com/_hsWThc1UE9o/R9SNa4sstzI/AAAAAAAAHWI/RzVo5COA5io/s200/matrikon_logo.jpg" alt="" id="BLOGGER_PHOTO_ID_5175917364791523122" border="0" /&gt;&lt;/a&gt;Inductive Automation is pleased to announce that MatrikonOPC's popular OPC Tunneller is now included as an optional installation in their unified installer system. The OPC Tunneller is the perfect companion to FactorySQL, and allows users to easily overcome DCOM headaches to create efficient, seamlessly networked OPC solutions.&lt;br /&gt;&lt;br /&gt;Security and configuration problems associated with DCOM have long made even the simplest remote OPC configurations a hassle. MatrikonOPC Tunneller provides the perfect answer, translating local COM based OPC calls into standard network traffic. Furthermore, it provides a range of additional features such data encryption, compression, and aggregation making it the perfect choice for someone looking to collect data from one or more remote sources. Configuration is minimal, allowing users to get up and running extremely quickly.&lt;br /&gt;&lt;br /&gt;FactorySQL is an industry leading OPC to SQL databridge. It provides bi-directional synchronization, historical logging, e-mail alert notifications, and much more. When paired with the MatrikonOPC Tunneler, within minutes users could have data being retrieved from any number of remote sources and available in their corporate database. There truly isn't a more cost effective, powerful way to retrieve and monitor remote data.&lt;br /&gt;&lt;br /&gt;For more information on FactorySQL or the MatrikonOPC Tunneller, contact Inductive Automation at (800) 266-7798.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-8351940397456251460?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/03/matrikonopc-tunneller-now-bundled-with.html</link><author>noreply@blogger.com (Nathan Boeger)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_hsWThc1UE9o/R9SNa4sstzI/AAAAAAAAHWI/RzVo5COA5io/s72-c/matrikon_logo.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-7807211063063571438</guid><pubDate>Mon, 10 Mar 2008 00:38:00 +0000</pubDate><atom:updated>2008-05-19T07:39:05.033-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>end user highlight</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>End-User Highlight: Metaldyne</title><description>&lt;a href="http://www.metaldyne.com/" target="_blank"&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/logoMetaldyne.gif" valign="top" align="right" border="0" /&gt;&lt;/a&gt;This month we interviewed Michael Young, the Lead Process Engineering Technician for &lt;a href="http://www.metaldyne.com/metaldyne/"&gt;Metaldyne&lt;/a&gt;, a leading global designer and supplier of powertrain and chassis products for the automotive industry.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;What do you use Inductive Automation software for in your company or facility?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Michael&lt;/span&gt;: We are monitoring our process for machine status, alarm history, downtime and OEE calculations. We can now view this anytime and in real time from unlimited clients through intranet or VPN.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;Why did you choose Inductive Automation software?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Michael&lt;/span&gt;: It is the most versatile I have seen yet, and if you are imaginative, the Inductive Automation technical support staff can help you figure out how to turn those dreams into reality.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;What features have you found most useful to your specific process?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Michael&lt;/span&gt;: I have found out, while learning to use them, that all of the tools such as SQL syntax, scripting, Jython and expression language give you tremendous options and flexibility.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;How has the introduction of SQL affected your development and implementation?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Michael&lt;/span&gt;: I am still learning it, but without it some things just are not possible without a lot of extra work.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;What have you found to be the main benefits of the software?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Michael&lt;/span&gt;: The flexibility of it and after getting better at it, the freedom of it.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;How do you plan on using IA software in the future?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Michael&lt;/span&gt;: All that I can, because there is no limit to the type of information that I can save and store in the database. This makes it a great tool for all of us involved in the project.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;Is there anything else you can say regarding your experience with Inductive Automation?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Michael&lt;/span&gt;: They are in California, but we won?t hold it against them.&lt;br /&gt;&lt;br /&gt;Screenshots:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/metaldyne_1.jpg" border="0" /&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/metaldyne_2.jpg" border="0" /&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/metaldyne_3.jpg" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-7807211063063571438?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/03/end-user-highlight-metaldyne.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-916646429983140902</guid><pubDate>Mon, 10 Mar 2008 00:34:00 +0000</pubDate><atom:updated>2008-05-19T07:38:18.887-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>integrator highlight</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Integrator Highlight: eGenietech Software Services</title><description>&lt;a href="http://www.egenietech.com/" target="_blank"&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/egen.jpg" valign="top" align="right" border="0" /&gt;&lt;/a&gt;This month we interviewed Vipul Shah, MES Division Head, of &lt;a href="http://www.egenietech.com/"&gt;eGenietech&lt;/a&gt; Software Services about his experience with Inductive Automation software.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;Tell us a bit about your company - do you have a focus on any particular industry?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Vipul&lt;/span&gt;: eGenietech is a software solutions provider in the area of IT for manufacturing. Since we have a good domain experience in the Process Automation Domain, our focus area has been providing solutions in the area of MES and Plant to Enterprise Integration.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;Why did you choose Inductive Automation software?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Vipul&lt;/span&gt;: For quite a long time we have been using custom software development for providing solutions to our client. But as the scope and complexity of the projects started increasing we started thinking of a product based approach to reduce the implementation time and maintenance cost. We evaluated a number of products for process data logging and finally chose FactorySQL because of its flexibility, configuration capabilities and its cost advantage due to support for unlimited tags. Another factor was we got very fast response during product evaluation which increased our confidence in Inductive Automation.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;What system features do your customers need that you can provide using FactorySQL and FactoryPMI?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Vipul&lt;/span&gt;: Most of the customers and our projects demand flexibility in configuration, openness to third party integration and extensibility. I feel both FactorySQL and FactoryPMI meet these requirements.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;What have you and your customers found to be the main benefits of the software?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Vipul&lt;/span&gt;: Our project involved providing a solution for metals industry, where we needed to seamlessly integrate an Oracle Based Production Management and Scheduling System and RSView Scada and provide a bidirectional transfer of process data among these two systems. Additionally the customer needed extensive data reporting and analysis.&lt;br /&gt;The most important benefit we found was that we could deploy the project in a relatively short time with all the IT friendly features of FactorySQL and also could easily incorporate new requirements given by the customer during actual implementation at the customer site.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;How do you plan on using IA software in the future?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Vipul&lt;/span&gt;: Though we were initially a bit wary of using third party products in our projects, and of a vendor who is separated from us by a 12 hour time zone, based on our initial success of using IA products we have decided to aggressively propose solutions to our clients around their products.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 153); font-weight: bold;"&gt;IA&lt;/span&gt;: &lt;b&gt;Is there anything else you can say regarding your experience with Inductive Automation?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(62, 105, 59); font-weight: bold;"&gt;Vipul&lt;/span&gt;: The best experience was the fast turn around time both from the sales and support side. The most important thing was we didn't actually require much support during actual implementation and that is very credible.  Other good thing is the continuous information on new ways to exploit the products that we get through the newsletters. In view of all this we foresee a long term relationship with IA and wish them luck to create new innovations in their products.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-916646429983140902?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/03/integrator-highlight-egenietech.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-3892424455637028285</guid><pubDate>Mon, 10 Mar 2008 00:29:00 +0000</pubDate><atom:updated>2008-03-09T17:33:30.981-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>FactoryPMI</category><category domain='http://www.blogger.com/atom/ns#'>how to</category><title>How To: Use Click to Graph with FactoryPMI Easy Chart</title><description>This article demonstrates how to install and use Click to Graph, a powerful way to add and remove pens from FactoryPMI's Easy Chart Component in runtime. Click to Graph allows you to add a right click menu to components, such as led displays, labels, numeric labels, etc, to add or remove that item from an Easy Chart graph dynamically. You can even save graphs and come back to them at later times. This way you choose what you want to see in a graph. Please read the instructions carefully and perform them in order.&lt;br /&gt;&lt;br /&gt;&lt;span class="style11"&gt;Installing Click to Graph&lt;/span&gt;&lt;br /&gt;&lt;hr size="1" color="#999999" style="padding:0"&gt;&lt;br /&gt;&lt;div style="padding-top:5px;padding-left:0px;"&gt;&lt;br /&gt;&lt;span class="style11"&gt;Step 1: Download Click to Graph File&lt;/span&gt;&lt;br /&gt;&lt;div style="padding-left:20px;padding-top:10px"&gt;&lt;br /&gt;1) Click on the following link to download the zip file:&lt;br /&gt;&lt;div style="padding-top:5px;padding-left:20px;"&gt;&lt;a href="http://www.inductiveautomation.com/downloads/products/?goodie=18"&gt;Click to Graph Goodie&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;2) Extract the contents of the &lt;span class="style7"&gt;ctg.zip&lt;/span&gt; to a folder. This file contains 5 files:&lt;br /&gt;&lt;div style="padding-left:30px;"&gt;&lt;br /&gt;&lt;span class="style7"&gt;ctg.sql&lt;/span&gt; - a MySQL backup file containing all the necessary tables&lt;br /&gt;&lt;span class="style7"&gt;ctg.py&lt;/span&gt; - a python script that contains all the necessary functions&lt;br /&gt;&lt;span class="style7"&gt;ctg.fpal&lt;/span&gt; - a custom palette that contains a few sample components&lt;br /&gt;&lt;span class="style7"&gt;ctg.fwin&lt;/span&gt; - a file that contains all the necessary FactoryPMI windows&lt;br /&gt;&lt;span class="style7"&gt;ctg_shutdown_script.txt&lt;/span&gt; - a file that contains the shutdown script needed&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="style11"&gt;Step 2: Import MySQL Dump File&lt;/span&gt;&lt;br /&gt;&lt;div style="padding-left:20px;padding-top:10px"&gt;&lt;br /&gt;1) Open up Command Prompt by going to &lt;span class="style7"&gt;Start-&gt;Program Files-&gt;Accessories-&gt;Command Prompt&lt;/span&gt;&lt;br /&gt;2) Change directory to MySQL bin by entering in (afterwards press enter):&lt;br /&gt;&lt;div style="padding-top:5px;padding-left:20px;"&gt;&lt;span class="style7"&gt;cd "C:\Program Files\MySQL\MySQL Server 5.0\bin"&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;3) Now import &lt;span class="style7"&gt;ctg.sql&lt;/span&gt; by entering in (afterwards press enter):&lt;br /&gt;&lt;div style="padding-top:5px;padding-left:20px;"&gt;&lt;span class="style7"&gt;mysql -u root -p YourDBName &lt; "C:\Location to\ctg.sql"&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;4) Enter in your MySQL root password (afterwards press enter)&lt;br /&gt;5) Done. The Click to Graph tables are now successfully imported.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="style11"&gt;Step 3: Import FactoryPMI Script Module&lt;/span&gt;&lt;br /&gt;&lt;div style="padding-left:20px;padding-top:10px"&gt;&lt;br /&gt;1) Open up the FactoryPMI Gateway Configuration page from: &lt;span class="style7"&gt;Start-&gt;Program Files-&gt;Inductive Automation-&gt;FactoryPMI-&gt;Configuration Page&lt;/span&gt;&lt;br /&gt;2) Open up the FactoryPMI Designer by clicking on the &lt;span class="style7"&gt;Launch Designer&lt;/span&gt; link. Login with your username and password (default is &lt;span class="style7"&gt;admin&lt;/span&gt; and &lt;span class="style7"&gt;password&lt;/span&gt;). Select the project you want to use Click to Graph in.&lt;br /&gt;3) Once open, go to &lt;span class="style7"&gt;Project-&gt;Script Modules&lt;/span&gt; from the menu bar.&lt;br /&gt;4) Click on the &lt;span class="style7"&gt;Import a package or script&lt;/span&gt; button.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/import_script.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;5) Select the &lt;span class="style7"&gt;ctg.py&lt;/span&gt; file.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/select_py.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;6) Name the module &lt;span class="style7"&gt;ctg&lt;/span&gt;.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/module_name.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;7) Done, you now have some global functions that we are going to use later. Press Ok to close.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/import_py_done.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="style11"&gt;Step 4: Import FactoryPMI Palette&lt;/span&gt;&lt;br /&gt;&lt;div style="padding-left:20px;padding-top:10px"&gt;&lt;br /&gt;1) With the designer still open, right click on the &lt;span class="style7"&gt;Component Palette&lt;/span&gt; and select &lt;span class="style7"&gt;Import Palette(s)&lt;/span&gt;.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/import_palette.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;2) Select the &lt;span class="style7"&gt;ctg.fpal&lt;/span&gt; file.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/select_fpal.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;7) Done, you now have some pre-configured components for Click to Graph that we can use.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/import_fpal.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="style11"&gt;Step 5: Import FactoryPMI Windows&lt;/span&gt;&lt;br /&gt;&lt;div style="padding-left:20px;padding-top:10px"&gt;&lt;br /&gt;1) With the designer still open, right click inside the &lt;span class="style7"&gt;Project Browser&lt;/span&gt; and select &lt;span class="style7"&gt;Import Window(s)&lt;/span&gt;.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/import_fwin.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;2) Select the &lt;span class="style7"&gt;ctg.fwin&lt;/span&gt; file.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/select_fwin.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;7) Done, you now have some pre-configured windows for Click to Graph that we can use.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/import_fwin_done.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;8) Lastly, you need to add the global shutdown script. Go to &lt;span class="style7"&gt;Project-&gt;Global Event Scripts&lt;/span&gt;. Next select the &lt;span class="style7"&gt;Shutdown&lt;/span&gt; tab and enter in the contents of the &lt;span class="style7"&gt;ctg_shutdown_script.txt&lt;/span&gt;. The script clears out the current graph when the user logs out or closes the client.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/shutdownscript.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;All done! Now let's go over how Click to Graph works.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="style11"&gt;How Click to Graph Works&lt;/span&gt;&lt;br /&gt;&lt;hr size="1" color="#999999" style="padding:0"&gt;&lt;br /&gt;&lt;div style="padding-top:7px"&gt;&lt;br /&gt;The first part to understand is that Click to Graph stores pen configurations in the database. During the runtime each user picks and chooses from these pens. Picking and choosing these pens manipulates the &lt;span class="style7"&gt;ctg_active_client&lt;/span&gt; table. This table then drives the Easy Chart's pens/axes datasets dynamically. The ctg_active_client table is based on a unique Client ID created by FactoryPMI when you login to a client. This ID uniquely identifies one client from another. This way each client can have its own set of pens the user can configure. If that ID is somehow lost (possible via redirection), the user must log in again to access the graph.&lt;br /&gt;Let's take a look at the databases tables needed for Click to Graph to work (there are 4 of them):&lt;br /&gt;&lt;br /&gt;&lt;div style="padding-left:20px;"&gt;&lt;br /&gt;&lt;span class="style7"&gt;ctg_pens&lt;/span&gt; - table stores all possible pens for the graph.&lt;br /&gt;&lt;span class="style7"&gt;ctg_axes&lt;/span&gt; - table stores all the available axes for the pens.&lt;br /&gt;&lt;span class="style7"&gt;ctg_saved_pens&lt;/span&gt; - table stores the saved graphs.&lt;br /&gt;&lt;span class="style7"&gt;ctg_active_client&lt;/span&gt; - table stores all the pens the clients have selected.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The &lt;span class="style7"&gt;ctg_pens&lt;/span&gt; table can be manipulated using the &lt;span class="style7"&gt;CTG_Pen_Edit&lt;/span&gt; window that we imported into our FactoryPMI project earlier. Here you can add/edit/remove pens. These pens correspond to tag or item that FactorySQL (or another historian) is already trending. Attached to a pen is a &lt;span class="style7"&gt;Point ID&lt;/span&gt;, which uniquely identifies one pen from another. Every FactoryPMI component that we want to use as a Click to Graph item must also contain the Point ID, so that it knows how to add or remove that specific pen. Let's go over a small example to get started.&lt;br /&gt;Next, the actual Easy Chart, located on the &lt;span class="style7"&gt;CTG_Graph&lt;/span&gt; window, has two expert properties called &lt;span class="style7"&gt;pens&lt;/span&gt; and &lt;span class="style7"&gt;axes&lt;/span&gt; which are both bound to a SQL query. The pens dataset is bound to a join of the &lt;span class="style7"&gt;ctg_active_client&lt;/span&gt; table and the &lt;span class="style7"&gt;ctg_pens&lt;/span&gt; table. The axes dataset is bound to the &lt;span class="style7"&gt;ctg_axes&lt;/span&gt; table.&lt;br /&gt;Let's go over a small example to understand how everything relates.&lt;br /&gt;&lt;span class="style11"&gt;Example 1: Using a Click to Graph Component&lt;/span&gt;&lt;br /&gt;&lt;div style="padding-left:20px;padding-top:10px"&gt;&lt;br /&gt;1) Open up the FactoryPMI Designer.&lt;br /&gt;2) Open up or create a window.&lt;br /&gt;3) From the Component Palette under &lt;span class="style7"&gt;CTG Palette&lt;/span&gt;, drag and drop the &lt;span class="style7"&gt;Multi-State Indicator&lt;/span&gt; pre-configured component into the window.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/drag_ind.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;4) You will notice there is a &lt;span class="style7"&gt;Dynamic Property&lt;/span&gt; called &lt;span class="style7"&gt;PointID&lt;/span&gt; attached to the component with a value of &lt;span class="style7"&gt;HOA&lt;/span&gt;. This Point ID must match the Point ID of a pen in the &lt;span class="style7"&gt;ctg_pens&lt;/span&gt; table.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/pointid.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;5) Now, let's take a look at the &lt;span class="style7"&gt;Mouse Pressed and Released actions&lt;/span&gt; on this component. This is where the right click menu is called. So, right click on the component and select &lt;span class="style7"&gt;Configure Actions..&lt;/span&gt;.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/action.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;6) You will notice the script is the same for the mousePressed and mouseReleased. They both call a global script function that we imported earlier into the Script Modules. We pass the &lt;span class="style7"&gt;event&lt;/span&gt; object into the showPopup function and it knows how to retrieve the Point ID from the component. The function also takes care of creating the popup menu.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/mouseaction.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;7) Now, cancel out of the action configuration and go into Preview mode in the designer by selecting &lt;span class="style7"&gt;Project-&gt;Preview mode&lt;/span&gt; from the menu. Now we can interact with the components. Right click on the indicator and you will get the following menu:&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/menu.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;8) That's it! You can click &lt;span class="style7"&gt;(+) Add to Graph&lt;/span&gt; to add that pen to the current working graph. If the pen does not exist in the &lt;span class="style7"&gt;ctg_pens&lt;/span&gt; table the script will create one automatically with the default settings. After that, you can remove the pen and event clear out the current graph.&lt;br /&gt;9) To see the current graph open up the &lt;span class="style7"&gt;CTG_Graph&lt;/span&gt; window.&lt;br /&gt;&lt;div style="padding-left:0px;"&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/clicktograph/graph.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="style11"&gt;How to add Click to Graph to already existing components&lt;/span&gt;&lt;br /&gt;&lt;hr size="1" color="#999999" style="padding:0"&gt;&lt;br /&gt;So, if you would like to add Click to Graph to already existing components do the following:&lt;br /&gt;1) Right click on the component and select &lt;span class="style7"&gt;Component Customizers-&gt;Dynamic Properties&lt;/span&gt; and add a new property named &lt;span class="style7"&gt;PointID&lt;/span&gt; of type &lt;span class="style7"&gt;String&lt;/span&gt;.&lt;br /&gt;2) Lastly, add the following script in the &lt;span class="style7"&gt;mousePressed&lt;/span&gt; and &lt;span class="style7"&gt;mouseReleased&lt;/span&gt; actions by right clicking on the component and selecting &lt;span class="style7"&gt;Configure Actions..&lt;/span&gt;:&lt;br /&gt;&lt;div style="padding-left:30px;"&gt;&lt;br /&gt;&lt;span class="style7"&gt;if event.button != event.BUTTON1:&lt;br /&gt;          app.ctg.showPopup(event)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Have fun with this goodie and as always if you have any questions please call us at 800.266.7798.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-3892424455637028285?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/03/how-to-use-click-to-graph-with.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-4094548308783911764</guid><pubDate>Mon, 10 Mar 2008 00:21:00 +0000</pubDate><atom:updated>2008-03-09T17:29:40.261-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>FactoryPMI</category><category domain='http://www.blogger.com/atom/ns#'>Linux</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>FactoryPMI Adds Linux Support</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.inductiveautomation.com/lib/getImage.php?id=2&amp;amp;type=ui"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 58px; height: 80px;" src="http://www.inductiveautomation.com/lib/getImage.php?id=2&amp;amp;type=ui" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_hsWThc1UE9o/R9SANIsstxI/AAAAAAAAHV4/iPcCtjsquh8/s1600-h/linux.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 72px; height: 80px;" src="http://bp2.blogger.com/_hsWThc1UE9o/R9SANIsstxI/AAAAAAAAHV4/iPcCtjsquh8/s200/linux.jpg" alt="" id="BLOGGER_PHOTO_ID_5175902834917160722" border="0" /&gt;&lt;/a&gt;Inductive Automation is proud to announce that as of version 3.1.5, FactoryPMI&lt;sup&gt;&lt;small&gt;TM&lt;/small&gt;&lt;/sup&gt; supports running on Linux/Unix operating systems. This groundbreaking change will be welcomed by many of our customers, especially international customers, who are running Linux on the plant floor. In an industry so dominated by Microsoft-dependent technologies, Inductive Automation's move towards platform-independence is a breath of fresh air.&lt;br /&gt;&lt;br /&gt;FactoryPMI is an innovative, full-featured industrial data visualization and control product. It can be coupled with FactorySQL or other database-aware industrial tools to create robust SCADA systems. Additionally, its flat-fee server based licensing model, including unlimited tags, screens, and runtime clients, makes it the most cost-effective solution on the market.&lt;br /&gt;&lt;br /&gt;FactoryPMI is written in Java, which is renowned for its ability to run on multiple platforms. While our FactoryPMI HMI/SCADA &lt;i&gt;clients&lt;/i&gt; have always supported running on multiple platforms, including Linux and MacOSX, the ability to run the FactoryPMI &lt;i&gt;Gateway&lt;/i&gt; on Linux is new. Those who know our software architecture will ask, "What about FactorySQL?" As you might have suspected, FactorySQL is tied to Microsoft Windows because of the OPC standard's reliance on DCOM, a Windows technology. However, many of our customers are using FactoryPMI by itself and have their own data-bridge that brings in their industrial data to their database. For now, these customers are the main benefactors of FactoryPMI's platform independence. In the future, Inductive Automation is committed to providing more platform independent solutions.&lt;br /&gt;&lt;br /&gt;To download FactoryPMI for Linux, visit our downloads page at &lt;a href="http://www.inductiveautomation.com/downloads"&gt;http://www.inductiveautomation.com/downloads&lt;/a&gt;. There you'll find the tarball for Linux. Inside is a README document that describes how to get the FactoryPMI Gateway up and running.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Inductive Automation&lt;/b&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-4094548308783911764?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/03/inductive-automation-is-proud-to.html</link><author>noreply@blogger.com (Nathan Boeger)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_hsWThc1UE9o/R9SANIsstxI/AAAAAAAAHV4/iPcCtjsquh8/s72-c/linux.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-4671915753363714673</guid><pubDate>Mon, 10 Mar 2008 00:09:00 +0000</pubDate><atom:updated>2008-03-09T17:38:05.804-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>end user highlight</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>End-User Highlight: Hancock Lumber</title><description>&lt;a href="http://www.hancocklumber.com" target="_blank"&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/hancock.gif" border="0" align="right" valign="top"&gt;&lt;/a&gt;This month we interviewed Kevin Murphy of Hancock Lumber about his experience with Inductive Automation software.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;What do you use Inductive Automation software for in your company or facility?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Kevin&lt;/span&gt;: We use all three components (Factory SQL, Factory PMI and the Reporting Plug-In) to centrally monitor multiple PLCs at three sawmills located throughout the state of Maine.  The collected data is presented in a dashboard-like environment for use by sawmill managers to improve their processes by evaluating correlations between downtime events and process outputs.&lt;br /&gt;The flexibility of the software has allowed us to customize both data collection points and interfaces so that we can gather exactly the data that is relevant to our processes.&lt;br /&gt;At the beginning of January, 2008, we added a second FactorySQL/PMI data collection server in our Bethel, Maine facility for use in controlling our upgraded wood-fired boiler.  Factory PMI with SQL tags made it exceptionally easy for us to custom develop a control panel to meet the needs of our environment in a cost- and time-efficient manner.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;Why did you choose Inductive Automation software?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Kevin&lt;/span&gt;: Our primary reason for selecting Inductive Automation was its lower cost compared to competing products.  In addition, the ability to install the software and run it in a meaningful way before purchasing it was key to our decision-making process.  During our evaluation process, Inductive Automation's engineering staff made themselves available to us to answer many technical questions, long before we bought the software.   Having a working model of what FactoryPMI could do for us with our data in it made it very easy for us to get Management approval to purchase the software. &lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;What features have you found most useful to your specific process?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Kevin&lt;/span&gt;: The ability of the software to speak to any database, as well as to any OPC server, has been a big plus to us.  In addition, the ability to publish any FactoryPMI solution on any desktop, without the need for additional licensing has made it very easy for us to roll out the solutions in our environment.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;How has the introduction of SQLTags affected your development and implementation?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Kevin&lt;/span&gt;: SQLTags made it possible for us to produce the screens for our recent boiler project in a fraction of the time it would have taken in past versions.  Since this project was on a very tight timeline, the ability to produce the necessary controls quickly was a huge advantage to us. &lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;What have you found to be the main benefits of the software?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Kevin&lt;/span&gt;: The initial benefit to us was in the ease of deploying our solutions.  When a user requests access to the dashboard, all we have to do is send them a link with logon information, and they have all the access they need.&lt;br /&gt;&lt;br /&gt;As we have gotten deeper into the software, we are finding many more ways to utilize the controls features that the FactoryPMI interface offers.  We have been able to accomplish several small controls projects quickly and inexpensively simply by building the interfaces through FactoryPMI.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;How do you plan on using IA software in the future?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Kevin&lt;/span&gt;: We look forward to establishing additional servers for data collection at several other points of control throughout our network.  We are exploring the possibility of using Inductive Automation tools to update and automate one of our oldest mill facilities.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#336699;font-weight:bold"&gt;IA&lt;/span&gt;: &lt;b&gt;Is there anything else you can say regarding your experience with Inductive Automation?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3E693B;font-weight:bold"&gt;Kevin&lt;/span&gt;: Our experience with support from Inductive Automation has been very, very good.  When we called with issues printing from the Reporting plugin, the IA staff worked to replicate the issues we were having so they could help us resolve the issue.  We are also tracking other issues within our environment for which IA technical staff have been invaluable resources.  In short, Inductive Automation has provided us with excellent service throughout our entire experience with their software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-4671915753363714673?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/03/this-month-we-interviewed-kevin-murphy.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-5419036020925404415</guid><pubDate>Sat, 19 Jan 2008 03:57:00 +0000</pubDate><atom:updated>2008-01-18T20:03:21.542-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>FactoryPMI</category><category domain='http://www.blogger.com/atom/ns#'>FactorySQL</category><category domain='http://www.blogger.com/atom/ns#'>how to</category><category domain='http://www.blogger.com/atom/ns#'>Networking</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Redundancy On The Cheap: How to use two servers, FactoryPMI, FactorySQL, and MySQL to make a mission critical HMI/SCADA application.</title><description>SACRAMENTO, CA &lt;/span&gt; - &lt;center&gt;&lt;b&gt;Introduction&lt;/b&gt;&lt;/center&gt;&lt;br /&gt;FactoryPMI and FactorySQL have long supported clustering and redundancy, respectively. But their database-centric architecture always left the question: What about the database? A true clustered database solution, like Microsoft SQL Server Clustering or Oracle 11g RAC works great, but can take 4+ extra servers and tens of thousands of dollars worth of software. This whitepaper describes how to set up redundancy on the cheap, using 2 servers and MySQL.&lt;br /&gt;&lt;br /&gt;First disclaimer: The solution provided here works well, but you do give up some of the reliability that you'd get with a true clustering solution. If you can afford it, go with a true clustered database. They are great and are built for exactly what you're doing. That said; we understand that budgets aren't infinite, and sometimes you have to do more with less. In that case, read on.&lt;br /&gt;&lt;br /&gt;Second disclaimer: The solution here isn't rocket science, but it does demand that the user has a solid grasp on our products, databases, and networking. After all, rocket science probably isn't that difficult if you're a rocket scientist. If you start thinking this might be beyond your technical capability, &lt;i&gt;skip to the bottom&lt;/i&gt; where we provide a much simpler solution that very well might be "good enough" for many users.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;The Basics&lt;/b&gt;&lt;/center&gt;&lt;br /&gt;This guide is going to be using some advanced features of FactorySQL, FactoryPMI, and MySQL that you may not be familiar with. Let's go over some of these features first.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;FactorySQL Redundancy.&lt;/b&gt; FactorySQL Redundancy is a feature that lets two or more FactorySQL services running on different physical machines cooperate, so that if the primary instance goes down due to a machine crash or software fault, one of the secondary instances will take over. FactorySQL uses a common database connection to share project configuration data, as well as monitor who is the currently running master instance.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;FactoryPMI Clustering.&lt;/b&gt; FactoryPMI Clustering is a feature that lets two or more FactoryPMI Gateway instances running on different physical machines share configuration data and split client load evenly across all running instances, with dynamic client failover. FactoryPMI Clustering uses UDP communication over the local subnet for all clustering communication.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Aggregate Connections / Failover Connections.&lt;/b&gt; In FactorySQL, you can create an &lt;i&gt;aggregate connection&lt;/i&gt; to a database. This special connection type uses two other database connections to create a single one. If the primary connection goes down, the secondary connection will be used instead. In FactoryPMI, you can specify a &lt;i&gt;failover connection&lt;/i&gt; for any datasource connection. In a similar fashion, if that datasource connection fails, the failover connection will be used instead. These two features are very important to the technique presented in this guide, because they let FactorySQL and FactoryPMI use two separate databases as one, which is how we simulate a clustered database.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MySQL Replication.&lt;/b&gt; MySQL Replication is a feature of MySQL that lets you specify one database as a master and one as a slave. All changes that are made to the master will be replicated over the network to the slave. Setting up MySQL replication is out of the scope of this guide, but was covered in an earlier article, available &lt;a href='http://www.inductiveautomation.comcompany/articles/?id=1'&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;The Architecture&lt;/b&gt;&lt;/center&gt;&lt;br /&gt;The basic idea is to set up MySQL &lt;i&gt;replication&lt;/i&gt; for realtime data (status and control), and FactorySQL &lt;i&gt;datacaching&lt;/i&gt; for historical data. When both servers are up, history will be logged to the master database, and realtime status and control will go through the master database. In the event that the master server goes down, history will be &lt;i&gt;cached&lt;/i&gt; by the secondary server's FactorySQL, and realtime status and control will be routed through the secondary database. When the master server is brought back up, the secondary FactorySQL will put all cached history into the master database. So, during the failure, history will be unavailable, but status and control will work.&lt;br /&gt;&lt;br /&gt;&lt;div style="float: center;"&gt;&lt;center&gt;&lt;a href="/files/article_images/rotc_slide1.png"&gt;&lt;img border="0" alt="Figure 1: Redundant Architecture Overview" width="473" height="521" src="http://www.inductiveautomation.com/files/article_images/rotc_slide1.png"&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Figure 1: Redundant Architecture Overview&lt;/b&gt; (click to zoom)&lt;/center&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Figure 1 is a diagram of the architecture this guide is describing. You'll see a "master" and "slave" server. Each server has the full "stack" of software on it, that is: an OPC Server, FactorySQL, a database (MySQL), and FactoryPMI. Don't let the picture frighten you, it's not as bad as it looks. Notice that there is a lot of symmetry here: Both instances of FactorySQL actually have the exact same connections, and the same goes for both of the FactoryPMI Gateways. Let's go over the configuration for each piece of the software stack.&lt;br /&gt;&lt;br /&gt;First, we have the OPC server. Both OPC servers will be connected to your devices (PLCs, RTUs, etc). They don't need to be specifically set up for "redundancy", but they do need to be configured in the same manner, so that they have access to the same tags, etc.&lt;br /&gt;&lt;br /&gt;Before we go over FactorySQL, let's look at the database. Notice that there are two separate &lt;i&gt;schemas&lt;/i&gt;: one for historical data, and one for realtime data. Separating the data into two schemas lets us use different connections for each schema. The master database has both schemas, but the slave server only has the realtime schema. You need to set up MySQL replication to replicate the realtime schema from the master to the slave. Again, see this article for detailed instructions on &lt;a href='http://www.inductiveautomation.comcompany/articles/?id=1'&gt;setting up MySQL replication &lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;The FactorySQL configuration will be identical on both the master and the slave. The crux of the configuration here is in the Data Connection Settings. You'll need the following connections:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;HistoryConnection: Connection to the master's historical schema. Native or DSN connection. Ensure that Data Caching is enabled in the Service Settings.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;MasterRealtime: Connection to the master's realtime schema. Native or DSN connection.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;SlaveRealtime: Connection to the slave's realtime schema. Native or DSN connection.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;RealtimeConnection: Aggregate connection with MasterRealtime as the primary connection, and SlaveRealtime&lt;br /&gt;as the secondary connection. Failover mode should be set to "Use secondary until primary is available"&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Ensure that SQLTags is enabled and using the RealtimeConnection (unless you aren't using SQLTags). Enable redundancy, and set it to use the RealtimeConnection. Note that FactorySQL redundancy makes your project configuration shared implicitly across your master and slave, but the settings themselves need to be configured individually.&lt;br /&gt;&lt;br /&gt;FactoryPMI configuration is fairly simple. You'll want to configure your master, and when it is all configured, you'll join your slave into the master's cluster. The configuration, again, mostly has to do with the datasource connections. You'll need the following connections:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;HistoryConnection: A connection to the master's historical schema.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;SlaveRealtime: A connection to the slave's realtime schema.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;MasterRealtime: A connection to the master's realtime schema, with the SlaveRealtime set as the "Failover Datasource".&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;In your project, make sure to use the HistoryConnection for all historical queries (e.g. charts, tables, reports etc. Use the MasterRealtime for all realtime information (e.g. SQLTags). To cluster your two FactoryPMI Gateways together, first set the Cluster Name of the master server to something intelligible, such as "FPMICluster". Then set the slave's Cluster Name to the same name. Ensure that you don't have any software firewalls such as Windows Firewall enabled, and that multicast UDP traffic on a single port can pass between the two Gateways.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;How It Works&lt;/b&gt;&lt;/center&gt;&lt;br /&gt;Now that you have your master and slave configured, let's take a look at how it will work in the event of a failure. First, look at Figure 2, which shows the path data takes when both servers are running. Notice that realtime and historical data go through the master database, and the FactoryPMI Gateways share the client load. Data flow is shown in the thick green lines. All other connections are not being used.&lt;br /&gt;&lt;br /&gt;&lt;div style="float: center;"&gt;&lt;center&gt;&lt;a href="/files/article_images/rotc_slide2.png"&gt;&lt;img border="0" alt="Figure 2: Normal Data Flow" width="473" height="521" src="http://www.inductiveautomation.com/files/article_images/rotc_slide2.png"&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Figure 2: Normal Data Flow&lt;/b&gt; (click to zoom)&lt;/center&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Now let's look at the data flow in the event that the master server has crashed in Figure 3. Again, the active data paths are shown in thick green. Notice that the realtime data is going through the slave's realtime schema, FactorySQL is caching the historical data, and the FactoryPMI clients have all switched to the FactoryPMI Gateway instance running on the slave.&lt;br /&gt; &lt;br /&gt;&lt;div style="float: center;"&gt;&lt;center&gt;&lt;a href="/files/article_images/rotc_slide3.png"&gt;&lt;img border="0" alt="Figure 3: Master Crashed Data Flow" width="473" height="521" src="http://www.inductiveautomation.com/files/article_images/rotc_slide3.png"&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Figure 3: Master Crashed Data Flow&lt;/b&gt; (click to zoom)&lt;/center&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;Conclusion and a Simpler Alternative&lt;/b&gt;&lt;/center&gt;&lt;br /&gt;There you have it, with some clever partitioning of connections and some MySQL replication, you can create a mission critical HMI/SCADA system that logs seamless history, and never loses control of your application. Of course, there are details to work out, such as backup schemes for your history in case the master server crash cannot be recovered from, but such things can be put in place fairly easily. If you are going to put a system like this in place, we recommend two additional things: purchase the commercial version of MySQL (it is fairly inexpensive) so that you can receive support from them, and &lt;i&gt;practice&lt;/i&gt;. Disaster recovery plans and redundant software can be quite complex. If you're serious about a highly available SCADA system, make sure that you regularly practice simulated outages to ensure that everything goes smoothly.&lt;br /&gt;&lt;br /&gt;Last but not least, we have promised a simpler alternative, in case this all seems too complex. The alternative is: Have a &lt;i&gt;cold&lt;/i&gt;-standby server ready and waiting. Purchase a USB licensing dongle from us (so that you can simply swap the FactoryPMI and FactorySQL license in a physical form), and in the event of a failure, turn on the secondary server and give it the IP address that your master server used to have. Yes, you'll probably be down for 5 to 10 minutes, and you will lose the history during that period, but you'll be able to explain how it works in one sentence. The only tricky part to this is to make sure that your secondary server's project files stay up to date. This can be achieved reliably through well-known procedural guidelines, or through automatic ghosting.&lt;br /&gt;&lt;br /&gt;As always, if you'd like to speak to one of our engineers to discuss any of these architectures, or have some new ideas that we haven't thought of, please give us a call at 1-800-266-7798.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Inductive Automation&lt;/b&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-5419036020925404415?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/01/redundancy-on-cheap-how-to-use-two.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-6612300975197659830</guid><pubDate>Sat, 19 Jan 2008 03:55:00 +0000</pubDate><atom:updated>2008-01-18T23:02:42.565-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>FactoryPMI</category><category domain='http://www.blogger.com/atom/ns#'>how to</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Feature Highlight: FactoryPMI  Retargeting Creates Seamless SCADA Across Multiple Plants</title><description>SACRAMENTO, CA &lt;/span&gt; - The ability to web-launch unlimited, free HMI/SCADA clients anywhere on a corporate network is almost universally everyone's favorite feature of FactoryPMI&lt;sup&gt;&lt;small&gt;TM&lt;/small&gt;&lt;/sup&gt;. As an added bonus, these days it is commonplace to have a corporate network that spans multiple physical plants, whether they are across town or across the country. With corporate networks like this, a manager at the Austin, TX plant could open up the HMI system for the Atlanta, GA facility to monitor line performance, or check inventory levels. Scenarios like this is where retargeting comes in.&lt;br /&gt;&lt;br /&gt;FactoryPMI's &lt;i&gt;retargeting&lt;/i&gt; feature lets you take advantage of existing corporate networks to create a completely seamless HMI/SCADA system across physical locations, while retaining local functionality at each location in the event that any inter-facility WAN connection were to go down. This feature is so simple that using it takes a single line of script. Suppose you had a FactoryPMI project called "Line A" located in Austin, TX, and another FactoryPMI project in Atlanta, CA called "Line B". If you wanted to add a button to your Line A project to retarget to the Line B project, all you?d have to do was write the following line of script:&lt;br /&gt;&lt;p style="padding-left:20px;background-color:#EEEEEE;font-family:monospace;"&gt;fpmi.system.retarget(&lt;span style="color:#3333FF;"&gt;"Line B"&lt;/span&gt;, &lt;span style="color:#3333FF;"&gt;"10.0.28.224"&lt;/span&gt;)&lt;/p&gt;That's it! All you need is the name of the project, and the IP Address of the remote FactoryPMI Gateway. This feature is almost too simple ? most of our users overlook it. Those who have discovered it have used it to create some of the most advanced seamless global SCADA systems in the world. Note that your current authentication credentials will be passed onto the new server when you retarget, which should make for a seamless user experience if you're using Microsoft Active Directory&lt;sup&gt;&lt;small&gt;TM&lt;/small&gt;&lt;/sup&gt; authentication. If not, you'll be asked to log into the new project with a valid username. That's all there is to this feature. As additional inspiration, here is a screen capture from a project that uses retargeting to create an interactive facility map:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/retargeting.gif"&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Inductive Automation&lt;/b&gt;&lt;BR/&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-6612300975197659830?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/01/feature-highlight-factorypmitm.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-821107012568264593</guid><pubDate>Sat, 19 Jan 2008 03:52:00 +0000</pubDate><atom:updated>2008-01-18T19:55:07.452-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>announcements</category><category domain='http://www.blogger.com/atom/ns#'>press release</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>Inductive Automation Releases FactoryPMITM 3.1 and FactorySQLTM 4.1</title><description>SACRAMENTO, CA DECEMBER 11, 2007&lt;/span&gt; - Inductive Automation is proud to release FactoryPMI&lt;sup&gt;TM&lt;/sup&gt; Version 3.1 and FactorySQL&lt;sup&gt;TM&lt;/sup&gt; Version 4.1. The main features of this release are SSL support for enhanced security over public networks, Java 6 support for easier deployment, and a new Historical Group in FactorySQL for easier data logging.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;FactoryPMI&lt;sup&gt;TM&lt;/sup&gt; 3.1&lt;/b&gt;&lt;br /&gt;SSL, or Secure Sockets Layer, is the industry standard encryption protocol for HTTP communication. This is the same technology that protects your sensitive financial information as you interact with your bank or purchase merchandise with a credit card online. FactoryPMI 3.1 natively supports SSL encryption for both its web-based server configuration and its web-launched HMI/SCADA clients. This technology is a natural fit with FactoryPMI, as its deployment and communication are completely web-centric. While most of our customers deploy their HMI/SCADA applications on their private int&lt;b&gt;ra&lt;/b&gt;net, we are getting more and more interest in deploying FactoryPMI's web-launched clients over the public int&lt;b&gt;er&lt;/b&gt;net. Interest in this technology ranges from simple internet-based deployment of a global SCADA system, to new hosted SCADA business models that only FactoryPMI's innovative web-launched clients can support. We are proud to be able to support applications that need the utmost level of security with SSL encryption in FactoryPMI 3.1.&lt;br /&gt;&lt;br /&gt;FactoryPMI 3.1 has a host of other features as well. It is now compatible with the Java&lt;sup&gt;TM&lt;/sup&gt; Platform version 6, and still backwards compatible with Java version 5. Our popular SQLTags technology now supports the Oracle&lt;sup&gt;TM&lt;/sup&gt; database, as well as the PostgreSQL database. We now support licensing through hardware USB-dongles as an alternative to our software CD-Key based licensing. This is useful for customers who want a cold-standby server, because they know they can transfer their license by simply moving a USB-dongle. Last but certainly not least is the new &lt;i&gt;Standalone Mode&lt;/i&gt; option for the FactoryPMI Gateway. This option lets FactoryPMI launch clients on multi-homed servers (computers that are on two or more networks), or over port-forward situations with no extra network setup, as long as the Gateway is not part of a load balancing cluster. Combine all of these features with a host of smaller improvements and bug fixes, and you have an upgrade that you don't want to miss. The full changelog can be found under the Support section of our website.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;FactorySQL&lt;sup&gt;TM&lt;/sup&gt; 4.1&lt;/b&gt;&lt;br /&gt;For years, the workhorse of FactorySQL has been its standard "Group". This unit of configuration can morph from a historical logger, real-time status and control synchronizer, downtime tracker, recipe manager, etc. With the introduction of SQLTags much of this can now be accomplished easily and quickly inside of FactoryPMI, leaving only the need to configure history in FactorySQL. Therefore, in this version we have added a new easy to configure historical group. By stripping the options of the standard Group down to only what is used in historical logging, the Historical Group couldn't be simpler to use. Our famous install-to-SQL-logging time of under 5 minutes is now even shorter, with an even flatter learning curve.&lt;br&gt;&lt;br /&gt;Additionally, version 4.1 boasts improved support for OPC properties such as Quality, Timestamp and item path in all group types, making it extremely quick and simple to log these properties for each tag.&lt;br /&gt;&lt;br /&gt;FactorySQL 4.1 also provides support 64-bit Windows&lt;sup&gt;TM&lt;/sup&gt;, USB-dongle licensing, and Oracle&lt;sup&gt;TM&lt;/sup&gt; and PostgreSQL&lt;sup&gt;TM&lt;/sup&gt; databases in SQLTags.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;About Inductive Automation&lt;/b&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Contact&lt;/b&gt;&lt;br /&gt;Jim Meisler&lt;br /&gt;(800) 266-7798 x227&lt;br /&gt;&lt;a href="mailto:jmeisler@inductiveautomation.com"&gt;jmeisler@inductiveautomation.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-821107012568264593?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/01/inductive-automation-releases_7956.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-1409842829614172256.post-7481668868740768893</guid><pubDate>Sat, 19 Jan 2008 03:50:00 +0000</pubDate><atom:updated>2008-01-18T19:51:55.418-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>SQLTags</category><category domain='http://www.blogger.com/atom/ns#'>how to</category><category domain='http://www.blogger.com/atom/ns#'>Newsletter Article</category><title>How To: Use SQLTags Scan Classes</title><description>SACRAMENTO, CA DECEMBER 11, 2007&lt;/span&gt; - Whenever we release a large set of new features, it’s always interesting to watch how those features are received and utilized by our users. Most users prefer to “click and discover” vs. “read the manual”, and apparently the scan class button is too inconspicuous. This article aims to shed some light on scan classes and offer some tips about their advanced features.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is a Scan Class?&lt;/b&gt;&lt;br /&gt;A scan class defines how frequently FactorySQL will receive updates from the OPC server. The default scan class for SQLTags (appropriately named &lt;i&gt;"Default"&lt;/i&gt;) is set up for 5 seconds. This means that any tags in this scan class will update at most every 5 seconds. We say “at most”, because if the tag didn’t change in the PLC, then the SQLTag won’t update, of course. This is pretty slow, and we invite users to feel free to modify the default scan class. Without further ado, let’s see how to modify scan class settings.&lt;br /&gt;&lt;br/&gt;&lt;center&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/scanclasses/sc_1.png"&gt;&lt;/center&gt;&lt;br/&gt;&lt;br /&gt;First, select the SQLTags provider you wish to work with. Then, press the “Edit Scan Classes… button to bring up the Scan Class Editor window.&lt;br /&gt;&lt;br/&gt;&lt;center&gt;&lt;img src="http://www.inductiveautomation.com/files/article_images/scanclasses/sc_2.png"&gt;&lt;/center&gt;&lt;br/&gt;&lt;br /&gt;Here you can see all of the options for a scan class. When you change any of these options, all tags assigned to that scan class will immediately be running with the new settings. Scan classes provide a very convenient way to centrally manage the polling options for groups of tags.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Scan Class Modes&lt;/b&gt;&lt;br /&gt;There are three modes that a scan class can run in. The most common mode is &lt;b&gt;Direct mode&lt;/b&gt;. In this mode, the scan class always runs at a constant &lt;b&gt;Rate&lt;/b&gt; (the &lt;b&gt;Low Rate&lt;/b&gt;), which is the amount of time in milliseconds between updates. All modes of scan classes also have a &lt;b&gt;Stale Timeout&lt;/b&gt;, which is the amount of time (in milliseconds) that can elapse after a scheduled update before the tags in that scan class are considered &lt;i&gt;Stale&lt;/i&gt;. (If you aren’t already familiar with them, see the user manual’s discussion of &lt;a href="http://www.inductiveautomation.com/products/factorypmi/usermanual/source/Designer/sqltagsoverlays.htm"&gt;SQLTags quality codes here&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Most users will only ever use &lt;b&gt;Direct&lt;/b&gt; scan classes. It will often make sense to have more than one scan class. For example, suppose you have some control points that you want very quick updates on, perhaps to show feedback of a momentary button or some similar control device. Maybe you have other data that doesn’t need such quick updates. You could have a scan class named “Fast” that was set to update every 500 or 250 milliseconds, and another scan class named “Normal” that was updating every 1250 milliseconds. This way, the system knows to expend more resources updating those crucial tags quickly, but isn’t bothered by the bulk of the tags that don’t need such a fast update rate.&lt;br /&gt;&lt;br /&gt;There are two other scan class modes besides &lt;b&gt;Direct&lt;/b&gt; mode. They are &lt;b&gt;Driven&lt;/b&gt; and &lt;b&gt;Leased&lt;/b&gt; modes. A Driven scan class will toggle between a &lt;b&gt;High Rate&lt;/b&gt; and a &lt;b&gt;Low Rate&lt;/b&gt;, based upon the value of some other tag. This can be useful for tags that need very fast updates only when some condition is true. For instance, the values of an oven may need very fast update rates, but only when the oven is on. To set up a driven scan class, set up a tag that will represent the condition that drives the rate of your driven scan class. The only “gotcha” here is that the tag that &lt;i&gt;drives&lt;/i&gt; your scan class cannot be &lt;i&gt;in&lt;/i&gt; that driven scan class. Other than that, setting up a driven scan class is quite easy&lt;br /&gt;&lt;br /&gt;The last kind of scan class mode is the &lt;b&gt;Leased&lt;/b&gt; mode. A leased scan class also toggles between a &lt;b&gt;High Rate&lt;/b&gt; and a &lt;b&gt;Low Rate&lt;/b&gt;. Whenever there is any active &lt;i&gt;subscription&lt;/i&gt; for a tag in a leased scan class, the scan class will run at its high rate. If nothing has a tag from the scan class subscribed, it will run at the low rate. This is like an on-demand system. When a FactoryPMI window is opened that has bindings for tags in a leased scan class, the scan class will start running at its high rate. When all windows that deal with that scan class are closed, it will run at its low rate. If the low rate is zero, that scan class is essentially disabled or turned off. This mode is useful when bandwidth is expensive, such as a satellite connection, or any time when you don’t want the PLC to be polled unless there is a need.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;br /&gt;As you can see, scan classes offer the designer a great deal of flexibility when creating HMI/SCADA applications with FactorySQL and FactoryPMI. While the &lt;b&gt;Direct&lt;/b&gt; scan class will suffice for the majority of users, we’ve seen some motivating examples of advanced situations where &lt;b&gt;Driven&lt;/b&gt; and &lt;b&gt;Leased&lt;/b&gt; scan classes can be useful. If after reading this article, you realize that you’d like to fine tune your scan class settings, but you’ve already created a few tens of thousands of tags, don’t worry! It is easy to bulk-modify tags to modify which scan class they are assigned to. Simply select multiple tags and only edit their scan class property. Even better, use the &lt;b&gt;Tag Search&lt;/b&gt; button to quickly find and sort through your tags so that re-assigning their scan classes is a snap.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;About Inductive Automation&lt;/b&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Contact&lt;/b&gt;&lt;br /&gt;Jim Meisler&lt;br /&gt;(800) 266-7798 x227&lt;br /&gt;&lt;a href="mailto:jmeisler@inductiveautomation.com"&gt;jmeisler@inductiveautomation.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1409842829614172256-7481668868740768893?l=blog.inductiveautomation.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.inductiveautomation.com/2008/01/how-to-use-sqltags-scan-classes.html</link><author>noreply@blogger.com (Nathan Boeger)</author><thr:total>0</thr:total></item></channel></rss>
