Wednesday, November 28, 2012

Interact for Windows 7

The release of Windows 7 has left most computer manufacturers with little choice but to abandon XP and include 7 instead. If your 3rd party software isn't ready for this then you're left with very few options. Parker's latest version of Interact is fully capable of working in Windows 7 but needs a compatibility check box to be set. After Interact 7 is launched, you'll be met with an error popup.

Click OK, find the shortcut once again, but right click on it and select properties.
Find the Compatability tab and check the box.

Once this is complete, the application will run unhindered and perfectly.

Monday, October 29, 2012

Variable Creation Made Easy(er)

Variable creation in GE Machine Edition can be a very time consuming task. You can create them on the fly in logic development or one-by-one in the variable table. If you have several variables to create that are similar it is a good idea to export to a CSV (comma-separated value), copy the variables and then import that CSV back into Machine Edition. Described below is an even easier way to create variables quickly in Machine Edition.

Select variables you would like to replicate and click Copy.

Open Excel and paste.

The list should look something like this.

Copy the single variable as many times as needed. Make sure that the Variable (column A) and Reference Address (column F) increase by one or change them to be unique. Also make sure that size stays 16 for integers and 1 for discrete variables. (Note: If you are using symbolic addresses, Reference Address will be blank)

Here is the list with the variable size fixed.

Copy all of the variables.

Go back to Machine Edition. Right click on variable list and paste.

Click YES.

Now you have all of your new variables.

Tuesday, October 2, 2012

GE Micro SNP, Master and Two Slaves Communication

Getting a GE Micro SNP to be a master to two slaves can be a little tricky. The process will be described below starting with how to make the cables. Then, the ladder logic and ComReqs for the master and the two slaves will be described in detail. The entire setup is shown below.





The figure below shows the cable diagram for connecting a master to two slaves. The only difference is the master needs to be changed to the correct PIN numbers. SD(A) is actually 12, not 9 and so on. The PIN numbers should match what the slave cables use. Be sure to label which cable end is the master and which is the slave.

 

Below is an actual photograph of the finished cables. 

Now that the cables are finished, go ahead and connect the master to the slaves and power them up. 


Open and start running Machine Edition. The next section will cover each slave and the master ladder logic that should be entered into Machine Edition.
First, download the following program onto the first Slave:

This program will allow you to see if the main program is working. When it is, it will be moving a 1 into the input table beginning at 209. 209 was chosen because 208 is divisible by 8 and 200 was used for SNPID2 (or slave 1). This will make it easier when finding the value 1 when the program is working. You can get to the table by going to Reference View Tables, Default Tables, and then open %I – Input.

The next program is the same but for SNPID3 (or slave 2). It follows the same logic as SNPID2. 305 was chosen for the same reasons that 209 was. They are stored in different locations so that you can be sure both of the slaves are communicating with the master without having to switch connections.

Note: Make sure when you are downloading the program to each slave to make it the active target in Machine Edition. This is shown below:


The ladder logic for the master is more complicated than the slaves. Each rung will be described.

This is the first scan. It begins by moving 0 into the ComReqStatusWord variable which is located at %R01018. This is in place so that the program knows a ComReq has not been completed yet. Next, 0 is moved into the ComReqState located at %R2000. This means either the program has completed all the ComReqs and is ready to start over, or that none have been completed yet. Finally, %T0001 is Set.

A timer will begin if T1 is turned on. The timer will provide a 2 second delay when the ladder is started. This allows more than enough time for the Micro to initialize upon system power up. When the startup delay is complete, one-shot %T0002 fires to load the Attach command for SNPID3 (this was just the one we set up first, it can be in any order).

T1 is set to normally closed so it will not run the first scan, but every scan after it. Next, it checks to make sure the ComReqState is set to 0 and the ComReqStatusWord is 1. This ensures the all the ComReqs have been complete and it is ready to start again at the beginning. One-shot T10 fires to load the Attach SNPID3 command. Note: Without this line, once the all the ComReqs have ran, it will be stopped because T2 is a one-shot command only on the first scan.

When T2 (first scan) or T10 are on, it will check that the ComReqState is 0. If it is true, it will then prepare the following data to be moved into the ComReq:



This rung checks to make certain the ComReqStatus is 1 (Successful) and the State is 1. If these are both true, T4 switches on to start the read command for SNPID3.


Once T4 is turned on, the Block Moves prepare the data to move into the ComReq. The ComReqState is then changed to 2 so that it will go on to Read data for SNPID2 and the ComReqStatusWord is changed back to 0. One-shot T5 fires to load the SNPID3 Read Command. The Block Move data is described below:
ATTACH COMMAND FOR SNPID 3 – This can be found on Page 118 of gfk0582d.pdf
0 - SNP Data Block Length                                                            7 - Characters 1 & 2 of Slave SNPID (0033Hex = 3 ASCII)
1 - NOWAIT Mode                                                                               8 - Characters 3 & 4
2 - Status Word Memory Type (8=%R)                                 9 - Characters 5 & 6
3 - Status Word Offset (1017 = %R1018)                            10 - Char 7 & 8
4 - Not Used                                                                                                                   11 - Master Memory Type to store Piggyback Status (8=%R)
5 - Not Used                                                                                                                   12 = Master Memory Address to store Piggyback Status (1030 = %R1031)
6 - SNP Command Number (7200 = ATTACH)                  13 = Not Used             

Once this is successful, 1 will be moved into the ComReqState so that it will be ready for the next ComReq. 0 will once again be moved into the ComReqStatusWord. T1 will be reset since the first scan is complete.

This rung will run for after each of the data has been prepared. It will move the data beginning at %R01001. T3 will only be set if there was an error in the ComReq.

This rung checks to make certain the ComReqStatus is 1 (Successful) and the State is 1. If these are both true, T4 switches on to start the read command for SNPID3.

Once T4 is turned on, the Block Moves prepare the data to move into the ComReq. The  ComReqState is then changed to 2 so that it will go on to Read data for SNPID2 and the ComReqStatusWord is changed back to 0. One-shot T5 fires to load the SNPID3 Read Command. The Block Move data is described below:
READ SYSTEM MEMORY COMMAND FOR SNP-ID 3; Can be found on Page 124 from gfk0582d.pdf
0- SNP Data Block Length                                                                               7-Slave Memory Type form which to read data (70=%I)
1-NOWAIT                                                                                                       8-Slave Memory Address form which to read data (304=%I305)
2-Status Word Memory Type (%R)                                                                  9-Number of Master Memory Type elements to read (16=%I301-%I316)
3-Status Word Address minus 1(Register 1017=R1018)                                 10-Master Memory Type to store data (70=%I)
4-Not Used                                                                                                       11-Master Address to store data (304=%I305)
5-Not Used                                                                                                       12- Not used
6-SNP Command Number (7202=Read System Memory)                              13-Not used


This rung checks to make sure the State is 2 and the Status is 1. If both are true, one-shot T7 is fired to load the Attach command for SNPID2.

This rung does the same as the Attach command for SNPID3. The only difference is the 16#0032 is 2 in Hex instead of 3 and it moves the State to 3 after it runs and the Status word back to 0.

This rung checks to make sure the State is 3 and the Status word is 1 (the ComReq Attach Command was successful). One-shot T8 then fires to load ComReqSNPID2Successful. 

This rung does the same as for SNPID3. Once it is successful, it will move 0 back into the State and 0 into the Status Word. T6 will fire to load RunReadSNPID2. This is the last ComReq so moving the State back to 0 will allow the first ComReq, Attach SNPID3, to begin again. 

The rungs above work together. Their purpose is to time how long it takes for data to be sent. The timer is set to always on, but it begins counting when the Read command is sent to SNPID2. The top rung makes more sense to come after the last one, but it has to be before or it will always show 0 because it will record the time after the timer has been reset. The time is stored in %R0004.

Wednesday, August 29, 2012

I/O Mirroring with MOXA's ioLogik E1200 Series

Thanks to firmware updates, MOXA ioLogik E1200 series devices are now capable of peer-to-peer I/O mirroring. This brief how-to guide will show you how to set up a pair of E1200 units so that you can mirror digital or analog I/O signals from one to the other over an Ethernet network. 






Step 1: The ioLogik devices will need to be configured for the network they will be used on. This process will vary greatly depending on the type of network, so please refer to the product manual to complete this process. The manual can be found at www.moxa.com/support or at www.logic-control.com .


In our example, the input/sending device is an E1210 (set to 192.168.100.15), and the output/receiving unit will be an E1242 (192.168.100.16)






Step 2: Update the device firmware to the newest available version, which is available at www.moxa.com/support or at www.logic-control.com .


In the browser based configurator, select System Management > Firmware Update. Browse for the location on your computer where you have the firmware update save, then click update and follow the on screen instructions.



Step 3: Now we will configure the peer-to-peer communication between the two units. Use the menu on the left to navigate to Peer-to-Peer Settings > Rule 1-10.
In the configurator for the input E1210 device (192.168.100.15), we need to select the input channel we want to use to receive the initial signal (DI 00), the IP address of the output E1242 device (192.168.100.15)  the port we want to use (default, 9020) and how often the signal can be transmitted. In this example, we will disable the interval time and check On Change, so any change in the signal will be transmitted regardless of interval. For analog signals, On Change includes a percent value to determine how big a change needs to be in order to be transmitted.
Don't forget to check Enable!
 Step 4: Now we will configure the output device (E1242; 192.168.100.16).
In the configurator for the E1242, we navigate to the peer-to-peer settings like we did on the E1210. We select to output channel on the E1242 that we want to output the digital signal (DO 00). Then, we enter the IP address for the input 1210 device (192.168.100.15), the port number (9020), and the input channel we set up already on the E1210 (DI 00). It is very important that the remote channel and remote port values match between two units. Note that the interval time and on change values are greyed out. This is because the output unit will transmit the signal exactly as it is received, regardless of the interval established in the input unit.
The input signal to the E1210 should now be transmitted over the network and be mirrored on the output channel of the E1242. That's all there is to it.
For help with similar or more advanced applications, feel free to contact the Logic office as needed.
Written by Spencer Brown

Monday, August 13, 2012

Manuals and Datasheets? Logic has them.

Delving around to find the manual for that certain piece of hardware or software can be quite time consuming. Wouldn't it be nice if they were all hosted at one place? We are now hosting manuals and datasheets on our public website, www.logic-control.com. Visit the products page and choose a vendor. Each vendor will have section to browse so you can find what you need. Manuals and datasheets are getting added all the time so if we don't have it, we will soon.


Products page, choose a vendor, and select a manual

Thursday, July 26, 2012

Configuring the ArchestrA TrendClient Control as an InTouch Real-Time or History Trend


The TrendClient control shown in your ArchestrA Graphic Editor can be used to display data from either Wonderware Historian or from classic stand-alone InTouch. This tip shows you how to set up the control as either a real-time or historical trend for InTouch data.

CONFIGURATION

1.      The most important thing to remember when using the TrendClient control is that it cannot co-exist with Wonderware Historian Client. So if you've got Historian Client installed, you'll need to uninstall it to use this control.

2.    The TrendClient control is a native .NET control, so first you'll need to create a new ArchestrA Symbol, and embed the TrendClient control into it.
 






3.      Double-click the embedded TrendClient and select Historical Sources under Configuration.
  • Click + to add a source.
  • Select InTouch Log History/LGH
  • Enter the computer (Name) and file location of your LGH files (UNC Path)

REAL TIME TREND



4.     Configure Pens for a Real Time Trend

  • Select Pens under Configuration
  • Click + to add a new pen
  • Give it whatever name you wish, such as the tagname
  • For Expression/Reference, enter the InTouch tag in the form INTOUCH:Tagname.
  • Pen Details can be hard-coded, or use InTouch tag dotfields as done here.


5. Embedding the Trend symbol into InTouch at this stage results in a Real-Time Trend.

INTOUCH HISTORY TREND

6. Configure Pens for Historical Trend


  • Follow the same steps as above to configure pen names and tags
  • Under Historical...
    • Enter the computer (Source)
    • Enter the InTouch tag (same as Reference above without the INTOUCH: prefix)
    • This is a common mistake. Just enter the tagname here, without prefix.






7. Embed the Trend Symbol in your InTouch window and you'll have a Historical Trend. No configuration is necessary in InTouch.


8. To specify start and end dates/times for historical trend display, you can specify a time range under the Options configuration, or use the SetStartAndEndTimes() method in a script. For example:



TrendClient1.SetStartAndEndTimes("7/23/2012 3:00 PM", "7/23/2012 3:30 PM", 0);

Monday, April 16, 2012

Using ScaleForResolution=0

Avoid screen resolution problems when moving InTouch applications between computers

If you're using classic InTouch, you've no doubt encountered the problem when editing an application on your development system that was created in a different video resolution. Common these days might be a target application for a screen size of 1280x1024 and a development system running on your wide-screen laptop at 1920x1080.  Nice laptop, by the way.

You always had to be careful when jumping between resolutions, but when you also change aspect ratios to a wide-screen, it's even more difficult.
There are two simple solutions.  One is to switch to using Managed InTouch applications and edit using the ArchestrA IDE. When opening InTouch WindowMaker, and prompted to change resolutions, you can just click 'No', and it lets you edit in the application's native resolution.

The other solution, for classic InTouch users, is to add the line:
ScaleForResolution=0



to the INTOUCH.INI file in your application's folder:
 




When you open the application, you will still be prompted to convert the resolution. Go ahead and click 'Yes'.  It will go through the conversion process,but it will not rescale your graphics. So a 100x100 pixel rectangle in the original application will still be a100x100 pixel rectangle after conversion.
Once you're done editing, you're going to copy your modified application to the original target computer, which had the 1280x1024 resolution in our example.  The modified application will show up in your Application Manager as having your edited 1920x1080 resolution, but don't worry.

Open your InTouch Application Manager and select Tools /Node Properties, then click on the Resolution tab. Select 'Allow WindowViewer to Dynamically Change Resolution', and then select 'Convert to screen video resolution':


When you open the application on your target computer in WindowViewer, it will convert the resolution back to 1280x1024.  But again, no rescaling will take place, so your application looks great.
One more note, you must always be aware of fonts.  If the original application used a font that was installed on one of the computers, but does not exist on the other computer, Windows will 'guess' as a font. And it usually guesses poorly. It's best to confirm that the same fonts already exist.

How do I create a new application on my wide-screen laptop that will be target for a different resolution target computer?
Sorry, no way around it. You must create your original application in that target application resolution. Then you can change your monitor back to your preferred resolution.

------

Update:  Starting with InTouch version 10.5 (part of System Platform 2012), you can set a checkbox in WindowMaker to perform this same thing. In WindowMaker, select Special / Configure / WindowMaker.  Check the box 'Lock Window Size'.


Tuesday, April 3, 2012

Getting Started with Remote Apps

Remote Apps is a new feature of Windows Server 2008 and onwards.  It uses the same technology as Remote Desktop, but displays only specified applications instead of an entire desktop. From the workstation perspective the app appears to be running locally; in reality it is running on the server. 

InTouch is a good candidate to run as a remote app because you often want more secure access by your HMI applications.
Accessing InTouch using Remote Apps is easy.  You can open a web browser and navigate, or you can embed a link on your desktop. Double-click on the link and it opens your InTouch application, just as if it were a local application.

The rest of this article focuses on how to setup Remote Apps.  If you have experience setting up a terminal server this will be trivial.  If you don’t, it still shouldn’t be too bad.

Client Setup
RDP version 6.1 or above is required on the client computer.  The required version of RDP ships with Windows XP SP3, Windows Vista SP1, Windows 7, Windows Server 2008, and Windows Server 2008 R2.  If need on another OS the required RDP version can likely be installed, even a Mac or a Tablet.

There are three options for setting up the clients.  All clients can be setup the same way or mixed and matched.
Option 1 - RDP File
The server can be used to create a *.rdp file with all the correct info.  The rdp file is put in a convenient location like the desktop where the user double clicks it to launch the app (such as InTouch).
Option 2- MSI File
The server can generate an msi file.  On the client machine the msi file is executed in order to install a shortcut in the start menu.
Option 3- Website
The server can host a website with links to launch apps like InTouch.  The big benefit of this is that zero client configurations are required.  An example link might be: https://RemoteAppsDemo/RDWeb/.  A user would then have to sign in to launch an app like InTouch.

Server Setup
Remote Apps is included with both Windows Server 2008 and Windows Server 2008 R2.
Given the choice to enable remote apps when adding the remote desktop services role(old name: terminal services role).
Installing Remote Apps
On Windows Server 2008 R2 (similar process for 2008) goto Server Manager add the roles “Remote Desktop Session Host” and “Remote Desktop Web Access”. 
Configuring Remote Apps
Goto Server Manager->Roles->Remote Desktop Services->RemoteApp Manager.  Here is where all the configuration will be done for Remote Apps. 
First thing to do is check for any warnings that looks significant.  One that will need to be addressed is “The TS Web Access Computers group is empty”.  The link “Learn more” can be clicked on for details on what this is and how to resolve it (resolution is easy).
The second step is to pick applications to enable as remote apps.  This is done by clicking “Add RemoteApp Programs” in the Actions pane on the far right.  The process of picking apps is simple.  A likely setup would be just WindowViewer, which would launch a specific InTouch project.  Another option might be to give them access to the InTouch Application Manager so they can pick which InTouch project to launch.

Thursday, March 22, 2012

Wonderware Customer FIRST Shipment

Here is a list of contents for the current Customer First support shipment.

Disc 1
  • Wonderware System Platform 2012
Disc 2
  • ArchestrA Workflow 2012
  • Wonderware Corporate Energy Management 1.2
  • Wonderware InBatch 9.5
  • Wonderware Intelligence 1.5
  • Wonderware MES 4.0 SP1
  • Wonderware QI Analyst 8.0 SP2
  • Utilities:  7-Zip and Microsoft FCIV
Disc 3
  • Patches and Service Packs
Disc 4
  • Device Connectivity Products (DA Servers)

Thursday, February 23, 2012

Automatic Email Notification of InTouch Patches & Updates

This article details how to setup automatic email notifications when there is a new InTouch patch, service pack, or version. This can be helpful to stay up to date or help with regulatory compliance. Setting up these notifications is a two-step process.

1. Set up Wonderware email notifications of new software downloads. You cannot select just InTouch notifications however--you get all products.


2. To counter that, use Outlook to filter out unrelated notifications, leaving only InTouch notifications.


Step 1:

- Go to wdn.wonderware.com then navigate to Downloads -> Software Downloads

- In the right side of the page click 'Alert me when Updated'. This opens the New Alert page.

- In the section 'Send Alerts For These Changes', select the radio button 'Someone changes an item that appears in the follow view.'

- In the pulldown under this entry, change 'Demo Applications' to 'Software'.

There are a few other preferences you can set. When done configuring click 'OK' and you will begin getting notifications.


Step 2:

Outlook's Rules feature can be configured to filter all the software updates to only InTouch.

- Launch Outlook then navigate to your Inbox.

- Navigate to Home -> Rules -> Manage Rules & Alerts

- Click on 'New Rule'

- A rule can be set up many different ways, but one example is to move all emails with the subject containing 'Downloads -', and does not contain 'InTouch' to the trash. Below is a screenshot of that example.

Tuesday, January 31, 2012

How do you connect GE's new Ethernet based CPU?

The new CPE305 has a new way to connect to via Ethernet straight out of the box. Instead of using a utility and pushing an address into it, you can simply use the factory address of 192.168.0.100. Once online with the CPU you can change the target address as needed.

There are two alternative methods to get online with a new CPE305 as well:

Use a configured Ethernet module (IC695ETM001) in that same rack and download an address into the CPE305 via the ETM.

Use a serial cable (IC693CBL316) to download into the CPE305.

The CPE310 has the same Ethernet setup as the CPE305. The main connectivity difference is the number of serial ports. Similar to the classic CPU310, it has one 9 pin port as well as one 15 pin port.

Keep in mind the CPE310 can be loaded with a CPU310 configuration which makes migration much easier. This allows you to use your Machine Edition with versions back to 5.5 SP1.