Beijer Exter HMI

plcnovel

Member
Join Date
Feb 2006
Location
LHR
Posts
215
Hi
Is there anybody on this forum who worked on Exter Touch Screens from Beijer Electronics. More precisely with the controller data exchange wizard. I am trying to use this wizard to communicate between Compact logix PLC and Seimens DCS (dont know the model........ not in my scope) in a Master (DCS), Slave (PLC) topology over modbus network. Everything is working good. However, I have about an array of data AI[224], of size 224 elements, and instead of mapping each an every element with the modbus register in the following way, i would like to come up with a smarter idea of doing it:

AI[0].data ------> 40001
AI[1].data ------> 40002
AI[2].data ------> 40003
.........
.........


One thing that i came up with was to use index registering inside the Exter HMi, but it works good at the modbus register end but not indexing properly at the PLC tag end AI[0].data, as it is an array data element? Any other ideas or correction in doing it smartly will be appreciated. Thanks in advance
 
I haven't used the exter yet. With the older Cimrex, there were only 8 data channels but each one could transfer 8 words of data.

I believe you specified the number of words for the data channel? (I'm not in front of any manuals right now). Maybe the Exter is the same.

Also, make sure you get the latest version of Information Designer software. There are some major additions to it.
 
Hi,

When using Data-exchange in an EXTER you can setup up to 8 channels with 255 words/bits per channel. You insert one start-address for the CLX and one for the Modbus and then select size = 224 (in this case):


regards
Supporter
 
This is what i did, i defined the channel as follows:


Start I/O 1 : AI[0].data (CLX TAG)
Start I/O 2 : 40001 (Modbus register)
Size : 5 (just for testing purpose)


But it doesn't seem to turn transfer modbus register value from 40002 to AI[1].data.....and so on.......... Any suggestions
 
Hi Plcnovel,

The CLX-driver supports structures but you can find the following information in the driver-help (Information Designer: Help -> Driver help):
Structured variables may not be used for controlblocks e.g. PLC Controlled recipe, No Protocol Mode

PLC Controlled Recipes, No Protocol mode etc reads/writes values from registers in a consecutive order, and this behavior is the same for data-exchange!

Try to define an array of int instead: Value[0..223] and use it in the data-exchange setup:

Start I/O 1 : Value[0] (CLX TAG)
Start I/O 2 : 40001 (Modbus register)

Regards
//Supporter
 
Hi Supporter:
Here is my setup for the whole system:

Controller 1: Ethernet CLX
Controller 2: MODBUS Slave Driver

I am using MDBUS simulator on my PC as a master to communicate with the PLC through Exter Exchange Wizard. So your suggestion is to dig into PLC COntrolled Recipes, or NO Protocol........i have looked at the manual and i am pretty disappointed with it as it is not as user friendly. Anyway if i understood you correctly then you meant to say to use either PLC Controlled Recipe or No Protocol Mode? If yes, then how can i use them based on my present topology. I am not that familiare with Exter HMI, this is the first time i am working with them....Hopefully that helps ....thanks in advance
 
No, I didn't mean that you should use No Protocol Mode or PLC controlled recipes, just pointing out that those functions does not support Structured variables (only normal arrays).

Your variable looks like this:
AI[0].data
but I think that the Dataexchange function only supports "normal" arrays like this:
AI[0]

So try this, create a new tag in the CLX called AI[0] and replace the tag in the Data-exchange setup to AI[0], now it should be possible to exchange data (with length > 1).

You can open an online-help file by pressing F1. So if lets say you are unsure about Data exchange you can open the Data Exchange setup dialog and press F1, then the help-file will open (and the opened chapter will contain information about Data-exchange).

Let us know about your results...

//Supporter
 
Hi Supporter
Thanks a lot for your help, yeah the normal array worked just like a charm in data exchange. One more thing, my DCS master would be capable of reading or writing to the PLC acting as a slave. My question is from my simulator, i can write the values to my PLC through Data Exchange using MODBUS SLAVE drivers, is it possible by using the same drivers, i would be able to read the values from the PLC using my simulator. Help in this regard would be highly appreciated. Thanks again
 
Hi,

If you look in the Data exchange setup you will see that there are 2 flows that you can setup:
- Flow 1 -> Flow 2
- Flow 2 -> Flow 1

I recommend that you use the Trigger signal as triggering method. Just insert two digital bits, one for Flow 1 -> Flow 2 and one for Flow 2 -> Flow 1
E.g
Start I/O 1 : AI[0] (CLX TAG)
Start I/O 2 : 40001 (Modbus register)

Flow 1 -> 2
TriggerSignal CLXbit[0]
Flow 2 -> 1
TriggerSignal CLXbit[1]

When you set either CLXbit[0] or CLXbit[1] a data exchange will be performed, when the terminal has finished the data exchange the bit will be reset again.

//Supporter
 
Hi
It means that, Flow 1 -> 2 means transfer data from controller 1(PLC) to controller 2 (MDBUS DCS), and Flow 2 -> 1 means transfer data from controller 2 (MDBUS DCS) to controller 1(PLC).

For example, if DCS asks for read data AI[0] to AI[5] and CLXbit[0] is set then flow would be from PLC to DCS ,is it right? If it is then do i have to use different modbus registers for read and write or i can use the same registers for both and the same channel.

Regards
 
Hi,

Yes that is correct. In your topology I think that the best way would be to use one data exchange channel for each flow and also different registers for Read/Write (to make life easier for yourself) - but it's possible to use the same tags for both directions but you will have to be careful so that you don't "corrupt" the data by triggering data-exchange in both directions at the same time.

Modbus to CLX
Channel 1:
Start I/O 1 : ClxRead[0] (CLX TAG)
Start I/O 2 : 40001 (Modbus register)
Flow 2 -> 1
TriggerSignal CLXReadRequest (CLX bool)

CLX to Modbus
Channel 2:
Start I/O 1 : CLXWrite[0] (CLX TAG)
Start I/O 2 : 40101 (Modbus register)
Flow 1 -> 2
TriggerSignal: 00001 (Modbus coil)

In the example above each driver (CLX/Modbus) will use a bit of it's own to trigger the data-exchange (CLXReadRequest/00001).

//Supporter
 
supporter said:
Hi,

Yes that is correct. In your topology I think that the best way would be to use one data exchange channel for each flow and also different registers for Read/Write (to make life easier for yourself) - but it's possible to use the same tags for both directions but you will have to be careful so that you don't "corrupt" the data by triggering data-exchange in both directions at the same time.

Modbus to CLX
Channel 1:
Start I/O 1 : ClxRead[0] (CLX TAG)
Start I/O 2 : 40001 (Modbus register)
Flow 2 -> 1
TriggerSignal CLXReadRequest (CLX bool)

CLX to Modbus
Channel 2:
Start I/O 1 : CLXWrite[0] (CLX TAG)
Start I/O 2 : 40101 (Modbus register)
Flow 1 -> 2
TriggerSignal: 00001 (Modbus coil)

In the example above each driver (CLX/Modbus) will use a bit of it's own to trigger the data-exchange (CLXReadRequest/00001).

//Supporter

Hi
So in your first example, "Modbus to CLX", Modbus master is writing data to CLXRead[0] array, and in the second one "CLX to Modbus" the data is being read into modbus registers 40101 from CLXWrite[0] array? It seems like that Write function is dependent on CLX signal trigger and Read function is dependent on Modbus trigger register. But in my case, MODBUS DCS would be the one who is intiating all the Read and Write Commands as it is acting as a Master. Secondly Do i have to modify my Ladder Logic in CLX other than just define the Arrays?........

I have my CLX Ladder setup as a standard, so i would keep it as a last choice if i really have to change my logic....thanks
 
You can let the Modbus driver control both flows, it's up to you. You will probably need to add some ladder to read/write the values that you have received/want to send (if you don't have any ladder-logic for that all ready)...

//Supporter
 
Hi
I am using modbus coils 00001 for flow 1-> 2 and 00002 for flow 2->1 as triggers. But using the same registers and tag. How would i make sure that DCS would not make the two flows set at the same time?

Regards
 

Similar Topics

Spent the best part of the day trying to figure a problem with the Beijer Exter series no protocol mode. I got it sussed and so thought I would...
Replies
0
Views
3,314
Hi, I'm currently having an issue with a Beijer T70 HMI. We have 2 HMIs talking to a Yaskawa motion controller via modbus over ethernet. The...
Replies
0
Views
582
Does the Beijer Exter support PID blocks using the CLX (compactlogix)driver & using the L5K import . CLX Ver 4.15
Replies
2
Views
1,830
Hi there, I have been working on a project using a small embedded controller called a SPLat (www.splatco.com) with a Beijer Exter t70 HMI. I have...
Replies
18
Views
6,923
Is it possible to exchange data between compact logix and Moore(Siemens) DCS through Exter HMI Screen? I am using Compact Logix L35E processor and...
Replies
0
Views
6,034
Back
Top Bottom