AB7007 Comunication With Fluke 8846a

Goodnight.

I’m interested in communicating a Fluke 8846a multimeter via RS-232/ASCII. with a Compactlogix by Ethernet IP and AB7007 anybus, by means of commands described in the documents.
I have doubts about how to generate commands for example * TRG? he allows to read and measure volts or Ohms in of multimeter.
After this data I will integrate it with a Compactlogix PLC via IP Ethernet.

Is there any procedure on how to generate commands automatically

I really appreciate the help.

best regards!!!

Hi Raul,

If you want to send the command “*TRG?” you would first convert from ASCII to hex or decimal:

*[center]TRG? = 2A 54 52 47 3F[/center]

There are some considerations to take before creating the configuration in the Anybus Configuration Manager (ABCM), for example:

The Protocol Mode: Since this is generic ASCII (not Modbus or DF1, for example), you could use Generic Data Mode or Master Mode. If this is going to be the only command, you could simply use Generic, but if there are going to be a number of commands, you should use Master, which allows you to “link” the query and response. In Generic Data Mode, you would create separate “Produce” and “Consume” transactions.

The Update Mode: This can be Cyclic (every x milliseconds), On Data Change (sent only when data changes), Single Shot (just once), or Triggered (when you write to a byte). For whichever you choose there may be additional settings, like update times for cyclic, and byte address for triggered.

Let’s assume that you have a number of different commands to create, and you are going to use Master Mode:

Click New Node to change it’s slave address and then right click it and select “Add Transactions.” That will add the Query and Response. Click the Query to select the Update Mode, in this case we’ll choose Cyclically, so we will have to set our timing settings as well. You can ignore the Trigger byte address setting under Query and Response.

Now you will have to define the data that goes into your Query. You’ll choose if you want this command to be a constant, permanently stored in the configuration, or if you want to manually enter the command from your PLC. In this case, we want the data to be constantly updating cyclically, so we’ll right click Query and select a Constant Data Value:

Since we have 5 bytes, we can choose 5 separate bytes or a combination of bytes and words or dwords. I will use a byte and a dword. The dword will contain the first 4 bytes:

image

We will also have to consider if there are start characters, end characters, checksums, etc. which should be indicated in the Fluke’s manual.

Now we’ll enter the data for the Response, which is going to depend on how the Fluke responds. Does it respond with a set amount of bytes or a variable amount? For this example, let’s say the response is 4 bytes every time. We’ll right click Response and select “Data” (as opposed to Variable Data) and then set the length (4) and the location. Since this is the first command and the first data we are receiving, we’ll set the location to 0x0000. If you were using a Control/Status Word, you would have to start at 0x000. Right click Subnetwork and select “Subnetwork Monitor” to see the memory layout:

Note in the screenshot that I have the Control/Status Word enabled. Your Responses will go in the In Area (0x0000 - 0x01FF), and you Querys in the Out Area (0x0200 - 0x3FF). Since our Query used a constant, it won’t take up space here, but if it was variable data it would.

In your PLC you will see the data when you read the 4 bytes starting at 0x0002. Of course, there are more details, but this should get you started. Please let me know if you have additional questions. The product page contains the user manual, software, EDS file for PLC, videos and more examples:

https://www.anybus.com/support/file-doc-downloads/communicator-specific/?orderCode=ab7007

Kyle

Good morning, Kyle.

I appreciate your valuable help,
My question that comes out for this command is that the documents mention that I must add the CR / LF terminators to be able to perform the commands in both RS-232 and LAN.

annex fluke command document. and on page 29 mention the corresponding terminators.

best regards.

8845a___pmeng0200.pdf (1.0 MB)

You can just add the terminators (end characters) by inserting a byte constant (0xA or 0xF) or word constant (0xAF) at the end of the transaction for RS-232.

Good afternoon, Kyle.

I commented that I could send a cyclic command to the multimeter through the previously programmed anybus as was your example.

My question is how can I send this command from the PLC Compactlogix with a programming tag, since there will be several commands that will be sent to the Fluke such as * TRG? , SYS; REM, CLS, READ ?, Init?
since the * TRG command? I could send it as Dword Constant and I work but other commands I cannot send as constants.

Thanks in advance for your support …

best regards.

You can map the data to registers in your PLC (0x0202 in this case):

Thank you very much for the support Kyle. We managed to communicate with the Fluke by ASCII only that during the communication process there are times that it marks communication errors and that value passes it to negative values ​​and causes greater failure in the Compactlogix.

There is some way to send predefined commands to the Fluke device and those commands can be saved in AB7007.

Thanks a lot.

Best regards

Do you have any idea what’s causing the errors? Some slave devices can return errors if they are sent commands too frequently, for example, or if they don’t recognize a command or receive the entire command within a period of time. (I don’t remember all of the particulars for this specific device.)

You can set up predefined commands by using the constant data types:

image

You could then write to a trigger byte to send the predefined command, or send it cyclically, for example…

Kyle

Good afternoon, Kyle.

I appreciate your kind help. I was able to communicate via RS232 ASCII the Fluke 8846A multimeter and the Rigol DS1102E Oscilloscope. Congratulations to the HMS team
and especially to you for your valuable help.

I share the backup file so they can review it.

Best regards from Mexico.

Fluke 8846A.rar (637 Bytes)
Rigol DS1102E.rar (981 Bytes)

Great - nice work! Thank you for sharing these!

I will close this case for now, but you can always re-open it by sending a reply. Please don’t hesitate if you have any questions in the future!

Saludos y gracias,

Kyle