Monday, July 29, 2013

Time Sync



           Computer clocks don’t keep perfect time and tend to drift.  Since Wonderware Software products are real-time systems it is important to keep the time correct to avoid problems like data loss, incorrect data, and a variety of other problems.  Such problems can be prevented by implementing a time sync strategy.

           There is a wide range of time sync strategies ranging from enabling the domain controller’s time sync feature to relying on a feature of Historian that is on by default.  The one strategy that stands out from the crowd is using a command line program called net time.  It is the simplest to implement and works better than the rest.


             Implementing net time is as simple as creating a Windows Scheduled Task to run the command “NET TIME \\Historian /SET /YES” every hour on all control system PCs except the PC selected to be the time master.  The time master PC should sync to an atomic clock either through the Internet or an NTP time server available on the LAN.  If there is a Historian in the system it is the preferred time master.  For screenshots on implementing net time refer to Wonderware Tech Note 882.

             If you are using System Platform it would be good to consider implementing net time inside of an object.  The advantage is maintenance.  A small problem of having a Windows Scheduled Task is when replacing the PC years later the Windows Scheduled Task might be forgotten and not migrated to the new PC.  The Windows Scheduled Task isn’t remembered again until there is a problem with time synchronization and it has to be troubleshot/re-implemented.  This problem can be avoided by implement net time inside a platform object, this way it is automatically deployed to the computer.  Even the potential problem of the time master’s computer name changing could be dealt with by doing some engineering. For example, you could place an attribute on the platform called “TimeMasterName” and use that when calling net time.

             It is important to turn off other time sync tools when implementing net time.  When multiple time sync tools are on they tend to conflict.  Below is the list of commonly used time sync tools on systems.  Exactly how to disable them varies between versions, but a quick Google search can look up disabling methods.

  • ·         Windows Automatic Time Sync to Internet

  • ·         VMWare’s Time Sync

  • ·         Hyper-V’s Time Sync

  • ·         Historian’s SuiteLink Time Sync (found in the system parameters)

  • ·         The Domain Controller’s Automatic Time Sync (off by default)


Helpful Links
Wonderware Tech Note 882 on using net time.  Note that it isn't necessary to make a batch file like the tech note does, a windows scheduled task can run net time commands without a batch file: https://wdnresource.wonderware.com/support/kbcd/html/1/t002685.htm


Wednesday, June 26, 2013

Horner Controlling a Stepper Drive

Horner features many HMIs that include I/O. Today, we're using an XL4 which is equipped with two high speed digital outputs for two axis of motion. Cscape, Horner's free programming software, configures the output between the options of PWM, high speed counter output, or stepper. In our case, we just want a typical stepper for our stepper drive.



This will allocate two regions of variables. AQ421 through AQ440 for analog outputs and I1617 through I1620 for digital inputs. The analog outputs are set points for both high speed outputs.


Let's look at just stepper 1 axis. Parameters start/run frequency and acceleration/run/deceleration count quantify our move profile. The only required parameters however are run frequency and run count. The others can remain zero.

Register Stepper Value
%AQ421 Start Frequency 0
%AQ423 Run Frequency 15000
%AQ425 Acceleration Count 0
%AQ427 Run Count 3200
%AQ429 Deceleration Count 0

Finally, set Q1 to true and Q1 will output the pulse train at the requested frequency and count. In this example, the drive is set to 3200 counts per rev and it will move at 15kHz. After the move is done, I1617 becomes true representing move complete. If bad values are used in the move profile for axis one, I1618 will be a value of 1.

What if you want to command direction? There are several more digital outputs you can use to command the direction bit on a stepper drive.

What if you want to jog the drive? Make the value of run count a very large number like 4 billion and reset Q1 when you desire to stop.

Monday, April 29, 2013

Decrease your Security Risk with GE QuickPanels

Decrease your security risk by giving certain users privileges. GE's series of QuickPanel HMIs use security to do just this. Here is how to configure and implement security on QuickPanels.

The act of configuring users is done during the runtime. Typically this means downloading and running on the QuickPanel itself but you can simulate the project on the PC before downloading. Click on the target within Machine Edition and enable the Simulate property.



Next, create/edit a panel and add two buttons anywhere. Double click one button to give a touch animation of Logon.



Double click the other button and give it a Touch animation with a script. You'll be using the EditUserList command which can be found by right clicking in the script body.



Now download the project and run. The target has been set to simulate so it should run on your local PC. Open the panel you've made and you'll see the two buttons we placed. Click the first button to trigger the logon dialogue. The default credential is:

username: master
password: control


After logging in, click on the second button to trigger the EditUserList dialogue. This window is where we create new users,access levels, and permissions.



At this point, security has been configured but it hasn't been implemented. Simply hide objects in all your panels by their Visibility Animation. Objects can be visible based on user or access level as shown below.

Wednesday, April 3, 2013

Use a web browser on ABB drives!

The FENA-01 Ethernet module for ABB drives can be reached through a web browser!

  1. Using the keypad, enter a valid IP address in Group 51, Parameters 5105 through 5108.
  2. Using the keypad, enter a valid subnet mask like 255.255.255.0 which shows up as option 24 in Parameter 5109
  3. Parameter 51.27, Edit, Refresh to perform a parameter refresh or cycle power to the drive.
  4. Connect the drive to the same network as your PC and type the IP address into the address bar of your favorite browser.

You will have access to 3 major sections of information.

Section 1: Status
This will show all of the important facts about the Ethernet module like software version, MAC and serial number.


Section 2: Configuration This will show all of the parameters needed to configure your Ethernet module to talk to your control system via EtherNet IP, Modbus TCP or ProfiNET.


Section 3: Support This section give you links to find important information like manuals and EDS files.

*Note: This is not a webpage that will show all of the parameters in the drive. It will only show Ethernet card related parameters.

Wednesday, February 27, 2013

Configuring the Horner XL4 for Ethernet communications with ABB VFD's

Multiple VFD installations can be enhanced with a centrally located HMI/Controller for display, alarming, and control of the remote drives. The following outlines the configuration for Ethernet communications of the new Horner XL4 OCS All-in-One controller to ABB VFD's.
First install and configure the correct Ethernet Fieldbus Adapter Module for the ABB drive you want to communicate with. ACS350/355 drives use the FENA-01 EthernetIP\Modbus TCP module. The ACS550 and ACS800 use the RETA-01 EthernetIP\Modbus TCP module. Set the Protocol, IP address, COMM PROFILE to ABB DRIVES, and configure the specific data you want to read and write to in the drive under Drive Parameter section 51. (See note)

Next, using CScape version 9.3, Service Pack 3 or newer, select Protocols under the Networking configuration in the Project Navigator and then choose "Modbus Tcp/Ip Client v3.05" for the Ethernet protocol.

Next select the Network button on the Protocol Config screen. In the Port configuration leave everything at default except change the Timeout from 10000 mSec to 1000 mSec. In the Update Scan configuration, also change the Reacquire Time from 1000000 mSec to 10000 mSec. These two settings should be kept short until communications with the drives has been established. Once configuration and programming is completed, the Timeout and Reacquire Time can be lengthened to optimize the communications.
Under the Status configuration, enter a register that will contain the status of the Ethernet communications. This is usually a register location outside your normal program registers. Notice that this is 4 Double Integers (DINT), so do not use any registers above this address for at least 8 registers. Once this is completed, select OK and return to the Protocol Config screen.

Now select the Devices button. This brings up the Device List. The Device List shows the devices that can be configured to communicate with. To add a device, select the Add button.
To Add a device enter the Name and IP address of the first drive to communicate with. Leave the Port at 502 and enable the Status monitoring if you want to monitor the status of communications to this device. Be sure to include another unused register for the status word for communications to this drive. Take note that this is also a DINT, so two register will be used for this status word. Under Device Options select “Modbus PLC 5-Digit Addressing” as the Device Type. Select OK and make sure the device you entered is now in the list of devices.
You can select Add and repeat the Device Config steps to add any additional drives you want to communicate with on the network. When done, select OK on the Device List and return to the Protocol Config screen. Then select the Scan List button. The Scan List shows you the polling configuration of the XL4 to each device you have configured.
Select Add to configure the Data Mapping between the XL4 and drive unit. First select the drive you want to map to in the Device Name. Then in the Device Register enter the Modbus start address of 40001. Next enter the number of words you want to read from the ABB Drive based on how many words you configured to read from and write to in the ABB drive. In the Local section enter the starting register you want to write the data to in the XL4. Make sure the Update Type is set to "Polled Read/Write" for continuous polling.
Now select OK to close the Data Mapping screen. Select Add to map any additional drives you want to communicate with. When done, select OK to close the Scan List screen, and OK to close the Protocol Config screen. This completes the configuration of communications to the ABB drives.
Once the project is downloaded to the XL4 it will continuously poll all the drives in the Scan List and place the data at the registers you designated for each drive. Display screens and logic can now be added to the Horner XL4 to display and control the remote ABB drives.
For additional information on the XL series of the Horner OCS line, contact your Logic, Inc. sales engineer. For a closer look at the new XL4, a 30 min. YouTube video can also be viewed at: http://www.youtube.com/watch?v=BLqg0Wx9sw4.
Note: For additional information on the ABB RETA and FENA modules you can contact our support department or an upcoming Tech Tip will discuss in detail the configuration of these interface modules for use with Modbus TCP/IP and Ethernet/IP communications.

Tuesday, January 22, 2013

Manage EIP Traffic with No Configuration!

Moxa now has a version of their managed switch that has IGMP snooping enabled out of the box. This means that you can install this switch and manage that pesky EIP traffic without ever logging on to the switch. As inventor Ron Popeil says, "Set it and forget it"!
Some Moxa switch models are available with a -EIP model number. The difference between an EIP and a non-EIP switch is a configuration setting. The EIP models are factory configured for IGMP snooping.

Non-EIP

EIP

Firmware in both switches is the same. Both will forward EIP traffic. Both can be accessed via an Allen Bradley ControlLogix add-on instruction. The part number difference is only to enable IGMP snooping by default. The non-EIP switch can be configured to be a -EIP switch by making the configuration change above. Note: one switch in the network must be enabled as the Querier.

Thursday, January 3, 2013

Prepare Windows 7 for Wonderware Products

Installing Wonderware products to a computer has gotten far easier with the new one-disk install. There are a few things, however, the OS needs set as a best practice before installation.

Step 1 
Disable Data Execution Prevention: bcdedit.exe /set {current} nx AlwaysOff

Step 2 
Disable User Account Control: Control Panel, User Accounts, User Account Control, and lower the slider to the bottom. This will require a computer restart.
Step 3 
Firewalls can keep a computer safe from intrusions. They also hinder Wonderware communications if left with default settings. Either shut your firewall completely off or add a series of exceptions:

InTouch
  • slssvc.exe
  • wm.exe
InSQL or Historian
  • InSQLData.exe
  • InSQLConfig.exe
  • InSQLSCM.exe
  • InSQLRet.exe
  • SQLServr.exe
General Ports
  • 445 tcp
  • 1434 udp
  • 1433 tcp
  • 135 tcp
  • 102 DAS SI Direct
  • 502 DAS MBTCP
  • 2221 DAS ABTCP
  • 2222 DAS ABTCP
  • 2223 DAS ABTCP
  • 5413 S/L DA Servers
  • 44818 DASABCIP
For more details, visit the Security Settings for Wonderware Products pdf.
Now you're ready to begin Wonderware installation.