|
|
|
List of drivers that are included in all the unlimited licenses of TAS-HMITalk 8.04
|
 |
|
 |
Let us know if you need help to create a specific example to test your device with any of our drivers or if you need that we develop a new driver to communicate with your field equipment. In order to test a driver you have to download the TAS-HMITalk activex component. After unzipping the zip file, be sure to register the hmitalk.ocx with regsvr32.exe. There is aditional information about TAS-HMITalk in our support blog. To open any example you will need Visual Basic 6.0. To write new applications we suggest that yo use Visual Studio Express.Net 2008 which is a free programming tool that can be downloaded at http://www.msdn.com.
|
|
|
|
|
XABH Driver - Allen Bradley Half Duplex Protocol Driver
|
|
|
This driver is included with all unlimited licenses of TAS-HMITalk. It is not sold separately. It can be used to communicate through a physical serial COM port, through a virtual COM port or through an IP port in serial-over-IP configuration.
|
If you think that this driver could talk to your device, you can test it by downloading a trial version of TAS-HMITalk, where you will find examples about how to configure the activex to use it with different drivers. Consider that this driver might also support some devices that are not listed in the Supported Devices list below but that can talk using the same protocol.
You can also hire our services to modify this driver, to expand its current functionallity or to develop a new driver based on it.
If you have any doubt about this driver, do not hesitate to contact us.
|
Driver Manual:
- Download the driver manual in Adobe Acrobat PDF format here: XABH.pdf 
- Download the driver manual in HTML format here: XABH.htm 
|
Driver Source Code:
Source-code files for this driver are available in plain-C language for additional USD299 with your purchase of the Unlimited License of TAS-HMITalk for 500 object instances.
|
Driver details:
XABH allows you to use half-duplex protocol (System Master) to communicate with ALLEN-BRADLEY PLC-5, SLC-500, PLC-4, PLC-3, PLC-2 and 1774-PLC using any of the following adapters connected to the
RS-232 port of the PC: Channel 0 located in the processor 1747-KE (DH-485) 1785-KE (Data Highway Plus) 1770-KF2 (Data Highway Plus) 1770-KF3 (DH-485) 1771-KE/KF (Data Highway) 1770-KF2 (Data Highway)
No additional boards are required in the PC bus.
This driver does not manage the communication between PLCs in the network. It is only intended to give a mechanism to exchange information between the supervisory PC and selected PLCs in the network.
To minimize the number of messages required to poll all the required information, it is a good idea to concentrate all data to be transmitted in groups of consecutive integers within the PLC memory. Up to 16 ON/OFF status, 1 16-bit value, 2 8-bit values or even floating-point values (scaled to a range of 0 to 65535) can be encoded in each integer value sent.
SLC-500 Items Naming - Text Notation
SLC-500 Items Naming: ---------------------
This convention for accessing to the SLC-500 controllers' data
is used by the following SLC-500 commands: Generic Read using Text Notation. Generic Write using Text Notation.
The general format of item names for data from SLC-500 controllers matches the naming convention used by the programming software. The format is shown below. (The parts of the name shown in square brackets ( ) are optional.)
X FILE : ELEMENT .FIELD /BIT
X:
Identifies the file type. The list below summarizes the valid file types and the default file number for each type:
X File Type Default File O *Output 0 I *Input 1 S Status 2 B Binary 3 T Timer 4 C Counter 5 R Control 6 N Integer 7 F **Floating P. 8
* Output and Input file types may be Read Only depending on the SLC-500 model. ** Available only on certain SLC500 models. Check the Processor Manual for the model being used. If the Floating Point file type is not supported, file 8 is reserved and unusable.
FILE:
File number must be 0-255 decimal. File 0 must be Output, file 1 must be Input, file 2 must be Status and so on for all the default file types. If this number is not specified, the default file number will be used.
ELEMENT:
Element number within the file. For Input and Output files it must be between 0 and 30 decimal. All other file types, it must be between 0 and 255 decimal.
FIELD:
Referes to the subelement number. If the file type is Timer, Counter or Control, then the subelement field must be replaced by its corresponing number. In some cases there is no reference needed for a subelement number, and if a subelement is included in the command, it will be ignored.
BIT:
Valid for all file types except Floating Point. Must be 0-15 decimal.
DESCRIPTION OF THE AVAILABLE FILE ITEMS:
----------------------------------------
OUTPUT FILE ITEMS:
On:e.s/b
"n" represents the file number and is optional. If not specified, it is assumed to be zero. "e" indicates the element number in the file. "s" indicates the sub-element number (0 - 255). "b" specifies the bit (0 - 15 decimal.) "/b" may be omitted if necessary to treat the I/O group as a numeric value.
Examples: O0:0/0 O:2/15 O:3
INPUT FILE ITEMS:
In:e.s/b
"n" represents the file number and is optional. If not specified, it is assumed to be one. "e" indicates the element number in the file. "s" indicates the sub-element number (0 - 255). "b" specifies the bit (0 - 15 decimal.) "/b" may be omitted if necessary to treat the I/O group as a numeric value.
Examples: I1:0/0 I:2/15 I:3
ADDRESSING I/O MODULES:
The elements (words) in I/O modules are mapped into a memory table. If the Analog I/O modules are being used, then the point naming will differ from the point naming in the programming software. The Item Name must be computed from the sum total of words used by the previous input or output blocks regardless their relative position in the module rack. The operator can use the programming software Data Monitor to look at the memory map of the I file or O file to verify your address. If the address is unsure, or if the PLC configuration is likely to change, copy the points in question to the N table or B table and access the data from there.
LABEL I/O MODULES WITH "WORD COUNTS":
The address of any point within the I/O datatable space, in an SLC processor, is the sum of the words occupied by previous modules (to the left in the rack) of the same type. Therefore, to determine the correct address for any particular point in the I/O datatable, one must know the number of words each module will consume. Refer to the list below:
N. of Words Module
0 1747-L524 SLC 5/02 Module Processor 1 1746-IA8 8 point 120VAC input module 1 1746-OA16 16 Point 120VAC output module 1 1746-IA16 16 point 120VAC input module 4 1746-NI4 4 point 20mA analog input module 4 1746-NO4I 4 point 20mA analog output module 1 1746-0A8 8 point 120VAC input module 2 1746-IB32 32 point DC input module
Important note:
In the table above, the minimum amount of words which can be consumed by a module is 1 (16 bits). This is due to the memory scheme of all Allen-Bradley processors.
STATUS FILE ITEMS:
Sn:e/b
"n" represents the file number and is optional. If not specified, it is assumed to be two. "e" indicates the element number in the file (0 - 255 decimal). "b" is optional. If specified, it indicates the bit (0 - 15 decimal).
Important note:
Refer to the SLC-500 Family Processor Manual (Allen-Bradley Publication) for a complete description of Status file information.
Examples: S2:6 (major error fault) S2:13 (math register) S:1/5 (forces enabled)
BINARY FILE ITEMS:
Bn:e/b or Bn/m
"n" represents the file number and is optional. If not specified, it is assumed to be three. If specified, the file number must be between 9 and 255 decimal. "e" specifies the element (word) number within the Binary file. It must be between 0 and 255 decimal. "b" specifies the bit number within the word. In the first form (where ":e" is present,) the bit number must be between 0 and 15 decimal. "m" also represents the bit number. However, in the second form, no word number is specified and the bit number may be between 0 and 4095.
Examples: B3/4095 (same bit as B:255/15) B:6/4 (same bit as B/100) B3
TIMER FILE ITEMS:
Tn:e.f/b
"n" represents the file number and is optional. If not specified, it is assumed to be four. If specified, the file number must be between 9 and 255 decimal. "e" specifies the element number (three words per element) within the Timer file. It must be between 0 and 255 decimal. "f" identifies one of the valid Timer fields. The valid fields for Timer Files are listed in the table below (use the numeric order as reference). If "f" is omitted, it is assumed to be the word 0. "b" is optional and is normally not used. All of the fields of a timer can be accessed by specifying the ".f" fields. However, it is possible to use "/b" to single out a bit in the .PRE or .ACC fields (which are words).
Order number Timer Fields
0 .PRE 1 .ACC 2 .EN 3 .TT 4 .DN
Examples: T4:0.1 (means: .ACC) T4:3.4 (means: .DN) T4:1.0 (means: .PRE)
COUNTER FILE ITEMS:
Cn:e.f/b
"n" represents the file number and is optional. If not specified, it is assumed to be five. If specified, the file number must be between 9 and 255 decimal. "e" specifies the element number (three words per element) within the Counter file. It must be between 0 and 255 decimal. "f" identifies one of the valid Counter fields. The valid fields for the Counter Files are listed in the table below (use the numeric order as reference). If "f" is omitted, it is assumed to be the word 0. "b" is optional and is normally not used. All of the fields of a counter can be accessed by specifying the ".f" fields. However, it is possible to use "/b" to single out a bit in the .PRE or .ACC fields (which are words).
Order number Counter Fields
0 .PRE 1 .ACC 2 .CU 3 .CD 4 .DN 5 .OV 6 .UN 7 .UA
Examples: C5:0.1 (means: .ACC) C5:3.5 (means: .OV) C5:1.0 (means: .PRE)
CONTROL FILE ITEMS:
Rn:e.f/b
"n" represents the file number and is optional. If not specified, it is assumed to be six. If specified, the file number must be between 9 and 255 decimal. "e" specifies the element number (three words per element) within the Control file. It must be between 0 and 255 decimal. "f" identifies one of the valid Control fields. The valid fields for the Control files are listed in the table below (use the numeric order as reference). If "f" is omitted, it is assumed to be the word 0. "b" is optional and is normally not used. All of the fields of a Control file can be accessed by specifying the ".f" fields. However, it is possible to use "/b" to single out a bit in the .LEN or .POS fields (which are words).
Order number Control Fields
0 .LEN 1 .POS 2 .EN 3 .DN 4 .ER 5 .UL 6 .IN 7 .FD
Examples: R6:0.0 (means: .LEN) R6:3.2 (means: .EN) R6:1.1 (means: .POS)
INTEGER FILE ITEMS:
Nn:e/b
"n" represents the file number and is optional. If not specified, it is assumed to be seven. If specified, the file number must be between 9 and 255 decimal. "e" specifies the element number within the Integer file. It must be between 0 and 255 decimal. "b" is optional. If specified, it indicates the bit (0 - 15 decimal).
Examples: N7:0 N7:0/15 N7:3
FLOATING POINT FILE ITEMS:
Fn:e
"n" represents the file number (optional). If not specified, it is assumed to be eight. If specified, the file number must be between 9 and 255 decimal. "e" specifies the element number within the Floating Point file. It must be between 0 and 255 decimal.
Examples: F8:0 F8:2
If you are using 1747-KE with SLC-500
IMPORTANT NOTES:
---------------- Remember to configure the 1747-KE to use the following settings:
Use the DF1 HALF DUPLEX Protocol Use the checksum mode (BCC or CRC) as stated in P5 parameter. Use the baud-rate, parity, stop bits and data bits that are currently used in the driver settings.
You should verify these settings by connecting your PC to the 1747-KE CONFIG port using an ASCII terminal (i.e. PROCOMM or XTALK) and then follow the steps described in the 1747-KE User Manual.
Be careful to include the 1747-KE node address as the source node in your HMITalk1.DriverP0 parameter if it is other than 0.
If you are using PLC-5
IMPORTANT NOTES:
---------------- To be able to communicate with your PLC-5, a procedure must be loaded in the processors memory or you will get errors. If the red led labeled "PROC' in the processor's front-panel is active, it means that no program is loaded and the communication will not work.
To load a PLC program, follow this steps with the PLC-5 Programming
Software from Allen Bradley supplied with your PLC device: From the main menu: Enter the 'Who' option (F5) Enter the 'Who Active' sub-option (F5) Select your station and enter 'Online Program' (F1) If you get an error such as 'PROCESSOR RAM IS FAULTED' (due to a battery problem, for example), press ENTER to clear memory. Select the 'Restore Program' option (F6) With the arrow keys, select the program to load. Select 'Begin Restore' when you are done (F1) Wait for a 'PRESS ANY KEY TO CONTINUE MESSAGE' and press any key. Now the program should be loaded and the communications working properly. Be sure to turn the key in your PLC to the RUN position to activate your program. If you want to edit the program loaded, you may enter the 'Monitor File' menu option (F8) Use 'Return to Menu' to go back to the main menu (F3)
Another cause of communication problems could be a mismatch in the communication parameters used by this driver and the PLC processor. Check what settings the driver is using entering the Driver Setup option in the TAS-HMITalk menu.
To change the communication settings in the PLC side (baud-rate,
parity, etc), follow this steps: From the main menu: Enter 'Online Program' menu option (F1) Enter 'Monitor File' sub-option (F8) Enter 'General Utility' sub-option (F7) Enter 'Channel Overview' sub-option (F4) If you get a 'NO ACCESS OR PRIVILEGE VIOLATION' message, be sure your PLC key is not in PROG position. You will get a screen with some information to change, like Channel 0 active protocol (System Slave mode should be active when using this driver) Enter the 'Channel Config' sub-option (F5) You will get a screen with the current communication options. Move around using the arrow keys until you select the option you want to change. Press 'Select Option' to explore the available options (F10) Finally press 'Accept Edits' to efectivize your changes. Don't forget to turn the key to its original position again (either RUN or REM)
Supported devices
This driver can communicate with these devices, but is not necessarily limited to this list:
ALLEN BRADLEY PLC-5 using Half Duplex Protocol ALLEN BRADLEY PLC-4 using Half Duplex Protocol ALLEN BRADLEY PLC-3 using Half Duplex Protocol ALLEN BRADLEY PLC-2 using Half Duplex Protocol ALLEN BRADLEY SLC-500 using Half Duplex Protocol ALLEN BRADLEY 1774-PLC using Half Duplex Protocol
Command list
This driver supports the following commands. If you need to implement some other command that is not included in this list, please let us know.
PLC-5 Commands
Generic Read using Text Notation Generic Write using Text Notation Read Outputs (O) Read Inputs (I) Read Status Data (S) Read Binary Data (B) Read Timers (T) Read Counters (C) Read Control Data (R) Read Integers (N) Read Floats (F) Write Individual Bit Write Outputs (O) Write Status Data (S) Write Binary Data (B) Write Timers (T) Write Counters (C) Write Control Data (R) Write Integers (N) Write Floats (F) Generic Read (O/I/S/B/T/C/R/N/F) Generic Write (O/I/S/B/T/C/R/N/F) Set Processor Mode Unprotected Read Protected Write Unprotected Write Protected Bit Write Unprotected Bit Write
SLC-500 Commands
Generic Read using Text Notation Generic Write using Text Notation Read Outputs (O) Read Inputs (I) Read Status Data (S) Read Binary Data (B) Read Timers (T) Read Counters (C) Read Control Data (R) Read Integers (N) Read Floats (F) Write Individual Bit Write Outputs (O) Write Status Data (S) Write Binary Data (B) Write Timers (T) Write Counters (C) Write Control Data (R) Write Integers (N) Write Floats (F) Generic Read (O/I/S/B/T/C/R/N/F) Generic Write (O/I/S/B/T/C/R/N/F)
PLC-4 Commands
Unprotected Read Protected Write Unprotected Write Protected Bit Write Unprotected Bit Write
PLC-3 Commands
Unprotected Read Protected Write Unprotected Write Protected Bit Write Unprotected Bit Write
PLC-2 and 1774-PLC Commands
Unprotected Read Protected Write Unprotected Write Protected Bit Write Unprotected Bit Write
|
See also:
ActiveX - CPKSoft Engineering - TAS-HMITalk 8.04 Unlimited License for up to 5 object instances ActiveX - CPKSoft Engineering - TAS-HMITalk 8.04 Unlimited License for up to 50 object instances ActiveX - CPKSoft Engineering - TAS-HMITalk 8.04 Unlimited License for up to 500 object instances Utility - CPKSoft Engineering - GetPCId.exe
|
|
| |
|
See all drivers
|
|
|
|
New entries in our support blog
|
 |
|
| Author: |
CPKSoft Engineering Support |
Created: |
5/26/2008 11:10 AM |
 |
| Answers to technical questions about TAS-HMITalk made by customers and registered users. |
|
Quick steps to install TAS-HMITalk |
|
By CPKSoft Engineering Support on
11/22/2008 6:34 PM
|
To install TAS-HMITalk in your machine follow these steps:
- Download the TAS-HMITalk distribution .zip file from http://www.cpksoft.com.
- Extract the .zip file contents to a local folder.
- Locate the hmitalk.ocx file, right-click over it and select "Open with...".
- Browse to 'C:\Windows\System32' and select 'regsvr32.exe' and Accept.
- The ocx file should now be registered by Windows in your machine.
- Repeat the same steps with linechrt.ocx and grid32.ocx.
- Now you can add TAS-HMITalk to your Visual Basic toolbox and/or open the examples.
|
|
Comments (0)
|
|
|
|
|
New TriggerAndWait method |
|
By CPKSoft Engineering Support on
10/2/2008 6:46 PM
|
A new method called TriggerAndWait has been added to the TAS-HMITalk activex. This method triggers a new communication and then blocks the execution of the application thread until the communication has finished. This way it is easier to implement a communication strategy where several TAS-HMITalk objects must be cascaded in a particular order.
Following is an example of a routine to handle a button event in an application written in C# with Visual Studio 2005 that reads data from a relay:
private void button1_Click(object sender, EventArgs e)
{
|
|
Comments (0)
|
|
|
|
|
|
How can I get connected to my devices with TAS-HMITalk? |
|
By CPKSoft Engineering Support on
7/21/2008 7:23 PM
|
TAS-HMITalk and any of its drivers can be used in any of the following configurations, with direct RS-232 connections, connections through RS-232/485 converters, connections through ethernet/serial converters, connections through virtual serial ports, etc.:

|
|
Comments (0)
|
|
|
|
|
MOXA Serial-to-Ethernet NPort 6150 module tested wiith TAS-HMITalk |
|
By CPKSoft Engineering Support on
6/1/2008 6:06 PM
|
Last week we had the chance to test the Moxa NPort 6150 Secure Serial Port Server Module with TAS-HMITalk to communicate with the serial port of a DanLoad 6000 electronic preset through the ethernet LAN at a fertilizer plant from Petrobras in Campana, Argentina.

The Moxa device was provided by RCL Systems, a company specialized in integrating InTouch factory suite applications for oil&gas industries.
The loopback tests worked great, showing that TAS-HMITalk could talk to the MOXA module directly, without the need of installing any COM port redirector software. TAS-HMITalk could properly recover from our intentionally-caused communication errors, such as cable disconnections and module power-off and on.
The DanLoad 6000 didn ...
Read More »
|
|
Comments (0)
|
|
|
|
|
Comments about sending outputs |
|
By CPKSoft Engineering Support on
5/26/2008 8:59 PM
|
- Configure your HMITalk object properties according to what the driver help file says for the chosen driver and command. Leave default values for properties not mentioned in the help file.
- Leave the ScanActive=False and uncheck the ScanAutoTrigger property.
- Create a Button to send the data
- In the Button_Click event, place this code:
HMITalkxxx.PointValue(0) = <the value to be sent>
HMITalkxxx.Trigger ' To dispatch the writing action
- Then just listen to the OnSuccessfullySent event or the OnErrorSending event.
|
|
Comments (0)
|
|
|
|
|
Example configuring a Modbus RTU communication |
|
By CPKSoft Engineering Support on
5/26/2008 8:50 PM
|
All drivers are configured using the same set of properties DriverP0 to DriverP9 and the meaning of these properties changes from one driver to other.
For example, to read a register value at address D0000 from a device supporting Modbus RTU, you should configure one TAS-HMITalk object as follows:
DriverName = “XModbusb”
DriverDataType = Analog_Input (because you will be reading words this time)
DriverNumPoints = 1 or whatever number ob registers you want to read (up to 125)
DriverP0 = PLC station number (project1.exe uses 1, which seemed to work OK)
DriverP1 = 3 or 4, depending on what your PLC supports.
DriverP2 = the starting address to be read (32768 for D0000)
DriverP3 to DriverP9 are not used for this case.
If you want the HMITalk object to periodically read your device, you don't need to call the .Trigger method each time. Y ...
Read More »
|
|
Comments (0)
|
|
|
|
|
Periodic reading vs. On-demand reading |
|
By CPKSoft Engineering Support on
5/26/2008 8:38 PM
|
The best approach to read data on a periodic basis is:
- Set the ScanActive to True
- Let the OnSuccessfullyReceived event or the OnPointValueChanged events do the work for you.
The best approach for on-demand reading is:
- Call the Trigger method
- Again, let the OnSuccessfullyReceived event or the OnPointValueChanged events do the work for you.
|
|
Comments (0)
|
|
|
|
|
Comments about configuring a PID loop |
|
By CPKSoft Engineering Support on
5/26/2008 8:33 PM
|
- To build a closed PID loop, you will need two TAS objects. One to read the process variable and the other to send the control signal back to the plant.
- Only the TAS object that is reading the process variable needs to have its PID properties set. The TAS object which sends the output is configured as you do with any other normal TAS object.
- The EnablePIDs TAS general property must be True for PIDs to operate.
- You will need to devote one PointValue for each PID loop you need.
- The PointPIDEnable property of that point must be set to True
- As a minimun, the PointPIDSetpoint, PointPIDKp, PointPIDKi and PointPIDKd must be set to appropriate values.
- The PointPIDLowPhysic and PointPIDHighPhysic properties will scale the control signal between 0% and 100%.
- The value of the control signal generated by the PID algor ...
Read More »
|
|
Comments (0)
|
|
|
|
|
Understanding how the CommTimeout property works |
|
By CPKSoft Engineering Support on
5/26/2008 8:27 PM
|
The "timeout threshold", the "CommTimeout property" or the "timeout value", which are all the same thing, is an amount of time that you configure and that the driver uses to know when it is time to abandon a communication if no response was received. If a timeout value is too big, an HMITalk object could remain waiting for an answer for a long time. The only reason a timeout exists is to prevent the driver to stay waiting forever. So it is important to define how long you want to wait in order to be sure that the device will not respond anyway after that time.
The timeout is a software setting at the driver side and it does not affect the device behaviour, but the driver behaviour. It does have nothing to do with some physical or electrical thing. It is just a maximum time period and the driver checks what happens first: a reply arrival or the timeout period expiration.
A timeout cannot be too short either. If you set a timeout to ...
Read More »
|
|
Comments (0)
|
|
|
|
|
|
|
|
|
|
New entries in our support blog
|
 |
|
|
|
|
|
|
|
|
|
Available licenses
|
 |
|
|
|
 |
399.00 USD
|
|
Unlimited license to build applications with Visual Basic that...See more...
|
|
|
|
|
|
 |
899.00 USD
|
|
Unlimited license to build applications with Visual Basic that...See more...
|
|
|
|
|
|
 |
1,399.00 USD
|
|
Unlimited license to build applications with Visual Basic that...See more...
|
|
|
|
|
|
|
|
|
|
|
|
|
Available drivers
|
 |
|
XABF Allen Bradley Full Duplex...
|
|
|
XABH Allen Bradley Half Duplex...
|
|
|
|
|
|
|
XADAM Advantech Adam Series...
|
|
|
XAFEISA Afeisa Industrial Microcomputers...
|
|
|
XALGODUE Algodue UPM Series Universal...
|
|
|
|
|
XAND4325 AND AD-4325V Weight Indicator...
|
|
|
|
|
XARCOMB Arcom M1 Modbus RTU Protocol...
|
|
|
|
|
XCATM5X Caterpillar CCM/M5X Protocol...
|
|
|
XCEWE Cewe Instruments Using...
|
|
|
XCONDENS System Electric Condensomatic...
|
|
|
|
|
|
|
|
|
|
|
XCVMITF Circutor CVM-ITF/CVM-R8C...
|
|
|
|
|
XCVMMOD Circutor CVM-BD-M Modbus...
|
|
|
|
|
|
|
|
|
|
|
XDUCATI Ducati Mach-Smart Analyzer...
|
|
|
XDX9100 Johnson Controls Metasys...
|
|
|
|
|
| | | |