Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

PI Interface for Modbus Ethernet PLC

ICU command-line parameters

  • Last UpdatedNov 18, 2022
  • 10 minute read

Parameter

Description

/CacheMode Required Default: Not Defined

Required for disconnected startup operation. If defined, the /CacheMode startup parameter indicates that the interface will be configured to utilize the disconnected startup feature.

/CachePath=path

Optional

Default:

Not Defined

Used to specify a directory in which to create the point caching files. The directory specified must already exist on the target machine. By default, the files are created in the same location as the interface executable.

If the path contains any spaces, enclose the path in quotes.

Examples:

/CachePath=D:\PIPC\Interfaces\CacheFiles

/CachePath=D:/PIPC/Interfaces/CacheFiles

/CachePath=D:/PIPC/Interfaces/CacheFiles/

Examples with space in path name:

/CachePath="D:\Program Files\PIPC\MyFiles"

/CachePath="D:/Program Files/PIPC/MyFiles"

/CachePath="D:/Program Files/PIPC/MyFiles/"

/CacheSynch=#

Optional

Default: 250 ms

Note: Care must be taken when modifying this parameter. This value must be less than the smallest scan class period defined with the /f parameter. If the value of the /CacheSynch parameter is greater than the scan class value, input scans will be missed while the point cache file is being synchronized.

The optional/CacheSynch=# startup parameter specifies the time slice period in milliseconds (ms) allocated by UniInt for synchronizing the interface point cache file with the Data Archive. By default, the interface will synchronize the point cache if running in the disconnected startup mode. UniInt allocates a maximum of # ms each pass through the control loop synchronizing the interface point cache until the file is completely synchronized.

Synchronization of the point cache file can be disabled by setting the value /CacheSynch=0. The minimum synchronization period when cache synchronization is enabled is 50ms Whereas, the maximum synchronization period is 3000ms (3s). Period values of 1 to 49 will be changed by the interface to the minimum of 50ms and values greater than 3000 will be set to the maximum interval value of 3000ms.

Default: 250 ms

Range: {0, 50 - 3000} time in milliseconds

Example: /CacheSynch=50 ( use a 50ms interval)

/CacheSynch=3000 ( use a 3s interval)

/CacheSynch=0 (do not synchronize the cache)

/dtf=x

Optional

The /dtf parameter defines the debug trace file name for the trace output when tracing is turned on and x must be a valid file name that has a .txt extension. If the /dtf parameter is not defined, the trace file name will be generated by the interface. It will be in the form PIModbusE_Trace_Intf_nn.txt in which nn is the zero padded interface ID (the value specified by the /id parameter). For example, the file name for an interface with an ID of 3 would be PIModbusE_Trace_Intf_03.txt.

/ec=#

Optional

The first instance of the /ec parameter on the command-line is used to specify a counter number, # , for an I/O Rate point. If the # is not specified, then the default event counter is 1. Also, if the /ec parameter is not specified at all, there is still a default event counter of 1 associated with the interface. If there is an I/O Rate point that is associated with an event counter of 1, each copy of the interface that is running without /ec=# explicitly defined will write to the same I/O Rate point. This means either explicitly defining an event counter other than 1 for each copy of the interface or not associating any I/O Rate points with event counter 1.

For interfaces that run on Windows nodes, subsequent instances of the /ec parameter may be used by specific interfaces to keep track of various input or output operations. Subsequent instances of the /ec parameter can be of the form /ec* , where * is any ASCII character sequence. For example, /ecinput=10 , /ecoutput=11 , and /ec=12 are legitimate choices for the second, third, and fourth event counter strings.

/f=SS.##

or

/f=SS.##,SS.##

or

/f=HH:MM:SS.##

or

/f=HH:MM:SS.##,

hh:mm:ss.##

Required for reading scan-based inputs

The /f parameter defines the time period between scans in terms of hours ( HH ), minutes ( MM ), seconds ( SS ) and sub-seconds ( ## ). The scans can be scheduled to occur at discrete moments in time with an optional time offset specified in terms of hours ( hh ), minutes ( mm ), seconds ( ss ) and sub-seconds ( ## ). If HH and MM are omitted, then the time period that is specified is assumed to be in seconds.

Each instance of the /f parameter on the command-line defines a scan class for the interface. There is no limit to the number of scan classes that can be defined. The first occurrence of the /f parameter on the command-line defines the first scan class of the interface; the second occurrence defines the second scan class, and so on. PI Points are associated with a particular scan class via the Location4 PI Point attribute. For example, all PI Points that have Location4 set to 1 will receive input values at the frequency defined by the first scan class. Similarly, all points that have Location4 set to 2 will receive input values at the frequency specified by the second scan class, and so on.

Two scan classes are defined in the following example:

/f=00:01:00,00:00:05 /f=00:00:07

or, equivalently:

/f=60,5 /f=7

The first scan class has a scanning frequency of 1 minute with an offset of 5 seconds, and the second scan class has a scanning frequency of 7 seconds. When an offset is specified, the scans occur at discrete moments in time according to the formula:

scan times = (reference time) + n(frequency) + offset

(continued)

/f=SS.##

or

/f=SS.##,SS.##

or

/f=HH:MM:SS.##

or

/f=HH:MM:SS.##,

hh:mm:ss.##

Required for reading scan-based inputs

where n is an integer and the reference time is midnight on the day that the interface was started. In the above example, frequency is 60 seconds and offset is 5 seconds for the first scan class. This means that if the interface was started at 05:06:06, the first scan would be at 05:07:05, the second scan would be at 05:08:05, and so on. Since no offset is specified for the second scan class, the absolute scan times are undefined.

The definition of a scan class does not guarantee that the associated points will be scanned at the given frequency. If the interface is under a large load, then some scans may occur late or be skipped entirely. See the section "Performance Summaries" in the UniInt Interface User Manual.doc for more information on skipped or missed scans.

Sub-second Scan Classes

Sub-second scan classes can be defined on the command-line, such as

/f=0.5 /f=00:00:00.1

where the scanning frequency associated with the first scan class is 0.5 seconds and the scanning frequency associated with the second scan class is 0.1 of a second.

Similarly, sub-second scan classes with sub-second offsets can be defined, such as

/f=0.5,0.2 /f=1,0

Wall Clock Scheduling

Scan classes that strictly adhere to wall clock scheduling are now possible. This feature is available for interfaces that run on Windows and/or UNIX. Previously, wall clock scheduling was possible, but not across daylight saving time. For example, /f=24:00:00,08:00:00

corresponds to 1 scan a day starting at 8 AM. However, after a Daylight Saving Time change, the scan would occur either at 7 AM or 9 AM, depending upon the direction of the time shift. To schedule a scan once a day at 8 AM (even across daylight saving time), use /f=24:00:00,00:08:00,L. The ,L at the end of the scan class tells UniInt to use the new wall clock scheduling algorithm.

/host=host:port

Required

The /host parameter is used to specify the PI Home node. Host is the IP address of the PI Sever node or the domain name of the Data Archive node. Port is the port number for TCP/IP communication. The port is always 5450. It is recommended to explicitly define the host and port on the command-line with the /host parameter. Nevertheless, if either the host or port is not specified, the interface will attempt to use defaults.

Examples:

The interface is running on a PI Interface Node, the domain name of the PI home node is Marvin, and the IP address of Marvin is 206.79.198.30. Valid /host parameters would be:

/host=marvin

/host=marvin:5450

/host=206.79.198.30

/host=206.79.198.30:5450

/icf=x

Required

The /icf parameter defines the ModbusE interface configuration file name. x must be a valid file name with a .csv extension that contains the interface and communications configuration for each Ethernet node. Since the interface generally runs as a service, it is imperative that x is the full path of the file (e.g. /icf= "C:\Program Files\PIPC\Interfaces\Modbus\ModbusEConfig.csv").

The Modbus communication configuration file is discussed in detail in the Interface configuration file section of this document.

/id=x

Required

The /id parameter is used to specify the interface identifier.

The interface identifier is a string that is no longer than 9 characters in length. UniInt concatenates this string to the header that is used to identify error messages as belonging to a particular interface.

UniInt always uses the /id parameter in the fashion described above. This interface also uses the /id parameter to identify a particular interface copy number that corresponds to an integer value that is assigned to Location1. For this interface, use only numeric characters in the identifier. For example, /id=1.

/omf_clear

Clears the entries in the Windows Credential Manager for the corresponding service name and the Run-As account. To activate it, perform the following actions:

  • Stop the interface.

  • Add the /omf_clear command line option through the Additional Parameters input in ICU.

  • Start the interface.

  • Update the service-name.config file that is in the same directory as the interface executable, providing the desired username/password, or clientid/clientsecret, and restart the interface.

    Note: This parameter is only recognized when the interface is started as a service. After it finishes clearing the entries in the Windows Credential Manager, the interface service stops.

/ps=x

Required

The /ps parameter specifies the point source for the interface. X is not case sensitive and can be any multiple character string. For example, /ps=P and /ps=p are equivalent.

The point source that is assigned with the /ps parameter corresponds to the PointSource attribute of individual PI Points. The interface will attempt to load only those PI points with the appropriate point source.

If the PI API version being used is prior to 1.6.x or the Data Archive version is prior to 3.4.370.x, the PointSource is limited to a single character unless the SDK is being used.

/sio

Optional

The /sio parameter stands for "suppress initial outputs." The parameter applies only for interfaces that support outputs. If the /sio parameter is not specified, the interface will behave in the following manner.

When the interface is started, the interface determines the current Snapshot value of each output tag. Next, the interface writes this value to each output tag. In addition, whenever an individual output tag is edited while the interface is running, the interface will write the current Snapshot value to the edited output tag.

This behavior is suppressed if the /sio parameter is specified on the command-line. That is, outputs will not be written when the interface starts or when an output tag is edited. In other words, when the /sio parameter is specified, outputs will only be written when they are explicitly triggered.

/stopstat

or

/stopstat=digstate

Default:

/stopstat="Intf Shut"

Optional

If the /stopstat parameter is present on the startup command line, then the digital state Intf Shut will be written to each PI Point when the interface is stopped.

If /stopstat=digstate is present on the command line, then the digital state, digstate , will be written to each PI Point when the interface is stopped. For a PI 3 Server, digstate must be in the system digital state table. UniInt uses the first occurrence in the table.

If neither /stopstat nor /stopstat=digstate is specified on the command line, then no digital states will be written when the interface is shut down.

Note: The /stopstat parameter is disabled If the interface is running in a UniInt failover configuration. Therefore, the digital state, digstate, will not be written to each PI Point when the interface is stopped. This prevents the digital state being written to PI Points while a redundant system is also writing data to the same PI Points. The /stopstat parameter is disabled even if there is only one interface active in the failover configuration.

Examples:

/stopstat=shutdown

/stopstat="Intf Shut"

The entire digstate value should be enclosed within double quotes when there is a space in digstate.

/UFO_ID=#

Required for UniInt Interface Level Failover Phase 1 or 2

Failover ID. This value must be different from the Failover ID of the other interface in the failover pair. It can be any positive, non-zero integer.

/UFO_Interval=#

Optional

Default: 1000

Valid values are 50‑20000.

Failover Update Interval

Specifies the heartbeat Update Interval in milliseconds and must be the same on both interface computers.

This is the rate at which UniInt updates the Failover Heartbeat tags as well as how often UniInt checks on the status of the other copy of the interface.

/UFO_OtherID=#

Required for UniInt Interface Level Failover Phase 1 or 2

Other Failover ID. This value must be equal to the Failover ID configured for the other interface in the failover pair.

/UFO_Sync=path/[filename]

Required for UniInt Interface Level Failover Phase 2 synchronization. Any valid pathname / any valid filename The default filename is generated as executablename_pointsource_interfaceID.dat

The Failover File Synchronization Filepath and Optional Filename specify the path to the shared file used for failover synchronization and an optional filename used to specify a user defined filename in lieu of the default filename.

The path to the shared file directory can be a fully qualified machine name and directory, a mapped drive letter, or a local path if the shared file is on one of the interface nodes. The path must be terminated by a slash ( / ) or backslash ( \ ) character. If no d terminating slash is found, in the /UFO_Sync parameter, the interface interprets the final character string as an optional filename.

The optional filename can be any valid filename. If the file does not exist, the first interface to start attempts to create the file.

Note: If using the optional filename, do not supply a terminating slash or backslash character.

If there are any spaces in the path or filename, the entire path and filename must be enclosed in quotes.

Note: If you use the backslash and path separators and enclose the path in double quotes, the final backslash must be a double backslash ( \\ ). Otherwise the closing double quote becomes part of the parameter instead of a parameter separator. Each node in the failover configuration must specify the same path and filename and must have read, write, and file creation rights to the shared directory specified by the path parameter. The service that the interface runs against must specify a valid logon user account under the "Log On" tab for the service properties.

/UFO_Type=type. Required for UniInt Interface Level Failover Phase 2.

The Failover Type indicates which type of failover configuration the interface will run. The valid types for failover are hot, warm and cold configurations.

If an interface does not supported the requested type of failover, the interface will shut down and log an error to the pipc.log file stating the requested failover type is not supported.

TitleResults for “How to create a CRG?”Also Available in