Samkoon to automation direct DL205 [Text] – PLCS.net – Interactive Q & A

View Full Version : Samkoon to automation direct DL205

f16bmathis

I have a touchscreen I want to have communicate with a PLC. I’ve built a can crusher using an automation direct PLC and I’ve got a Samkoon touchscreen that I’ve programmed some buttons on. But I can’t seem to find how you would have a touchscreen talk to a PLC.

Does the touchscreen send the memory data to the PLC or does the PLC read the touchscreens memory? And how to get them to talk to each other? The Samkoon touchscreen has write addresses that can start as LBXXX, LWXXX, and RWIXXX. The manual does not explain what each does or how to get it to communicate with a PLC.

At work, I can se a panelview 600’s output going to an Allen Bradley PLC and when you touch the screen button, it enters a value in location N7:0/0, so with my Automation Direct DL205, I can set up the same type of logic, but how is it sent to the PLC from the touchscreen? There seems to be a void of information on the internet of how to do this, or I can’t find the proper search string!

Any help, ideas? Thanks

bernie_carlton

Can you specify exactly which model you have? And can you provide a link to a manual?

In order to connect to the DL 205 the display/software would have to have a protocol available which is compatible with the DL 205. Modbus might be an expected protocol.

geniusintraining

Can you specify exactly which model you have? And can you provide a link to a manual?

In order to connect to the DL 205 the display/software would have to have a protocol available which is compatible with the DL 205. Modbus might be an expected protocol.

http://p-avt.ru/Files/samkoon-panel/SamDrawV3_3-User_manual.pdf

Page 367

I think this is it….

bernie_carlton

Great help GIT. Note that the CCM protocol is also referred to as ‘Directnet’ in the DL manuals.

jrwb4gbm

Can you specify exactly which model you have? And can you provide a link to a manual?

In order to connect to the DL 205 the display/software would have to have a protocol available which is compatible with the DL 205. Modbus might be an expected protocol.

bernie, here is one manual link I found. Maybe it will help.
http://www.efesotomasyon.com/samkoon/120121-SK-User%20manual.pdf

bernie_carlton

In that manual the Koyo commuunication information begins on page 291 (despite what the table of contents says). They are using their own nomenclature (‘I’ and ‘O’ instead of ‘X’ and ‘Y’) but there should be enough to go on.

f16bmathis

Can you specify exactly which model you have? And can you provide a link to a manual?

In order to connect to the DL 205 the display/software would have to have a protocol available which is compatible with the DL 205. Modbus might be an expected protocol.

The touchscreen is a Samkoon SA-3.5, I also have a SA-5.7, both work the same, and I use SAMDRAW 3.3 to program them.

Here’s the link for the SAMDRAW 3.3 http://www.samkoon.com.cn/channel/15064027

The PLC is either a Automation Direct Logic 205 or a Direct Logic 05 (DO-O5DR) http://www.automationdirect.com/static/manuals/d0user/d0uservol1.pdf

I am not familiar with “protocols” other than maybe a comm protocol, and never heard of MOBUS.

The touchscreen has 9 pin dinns for comms, and the PLC has a telephone style jack comm 1 and comm 2

LadderLogic

This HMI product and the programming software look eerily familiar to me…

f16bmathis

bernie, here is one manual link I found. Maybe it will help.
http://www.efesotomasyon.com/samkoon/120121-SK-User%20manual.pdf

This is for the “SK” series touchscreens, uses SK Workshop to program these. Both mine are “SA” series which uses SAMDRAW 3.3 to program. Might be the same, or even at least give me an idea of how they work though…

keithkyll

Does the touchscreen send the memory data to the PLC or does the PLC read the touchscreens memory? And how to get them to talk to each other? The Samkoon touchscreen has write addresses that can start as LBXXX, LWXXX, and RWIXXX.
Any help, ideas? Thanks

The touchscreen reads and writes to PLC memory. Communicate on Com 1. LBxxx is Local Bit, LWxxx is Local Word. These are internal addresses in the HMI. You need external addresses.

1) When you set up a new screen, the second box is New Link. Choose the PLC on this page. I tried Koyo, but got addresses that are for a GE CCM module. Think it’s a bug. Try MODBUS. I used a SA3.5 with a Click using Modbus. Use the Click manual (http://www.automationdirect.com/adc/Shopping/Catalog/Programmable_Controllers/CLICK_Series_PLCs_%28Stackable_Micro_Brick%29/Documentation/C0-USER-M) for info on Modbus.

f16bmathis

The touchscreen reads and writes to PLC memory. Communicate on Com 1. LBxxx is Local Bit, LWxxx is Local Word. These are internal addresses in the HMI. You need external addresses.

1) When you set up a new screen, the second box is New Link. Choose the PLC on this page. I tried Koyo, but got addresses that are for a GE CCM module. Think it’s a bug. Try MODBUS. I used a SA3.5 with a Click using Modbus. Use the Click manual (http://www.automationdirect.com/adc/Shopping/Catalog/Programmable_Controllers/CLICK_Series_PLCs_%28Stackable_Micro_Brick%29/Documentation/C0-USER-M) for info on Modbus.

This is what I’m looking for! Thanks!

f16bmathis

The touchscreen reads and writes to PLC memory. Communicate on Com 1. LBxxx is Local Bit, LWxxx is Local Word. These are internal addresses in the HMI. You need external addresses.

1) When you set up a new screen, the second box is New Link. Choose the PLC on this page. I tried Koyo, but got addresses that are for a GE CCM module. Think it’s a bug. Try MODBUS. I used a SA3.5 with a Click using Modbus. Use the Click manual (http://www.automationdirect.com/adc/Shopping/Catalog/Programmable_Controllers/CLICK_Series_PLCs_%28Stackable_Micro_Brick%29/Documentation/C0-USER-M) for info on Modbus.

Mobus RTU Master? Then when I set up the PLC, What would I set as the location that the touch screen sends the data to? The options for the memory locations do not look anything like N7:0/0 or B3:0, I get LB, LW and RWI as addresses, but I believe these are INTERNAL touchscreen addresses. How would I send the data to the PLC? This won’t be simple will it?

keithkyll

Master or Slave. Don’t remember.
Send to com 1.
This will be VERY simple!!!
Go to Screen 1. Grab a Bit Lamp. Next to “Monitor Address”, click the keyboard symbol. Change the drop down from “Internal Storage Area” to “Com1”. You’ll see the address choices change.
I made my own cable.

f16bmathis

The touchscreen reads and writes to PLC memory. Communicate on Com 1. LBxxx is Local Bit, LWxxx is Local Word. These are internal addresses in the HMI. You need external addresses.

1) When you set up a new screen, the second box is New Link. Choose the PLC on this page. I tried Koyo, but got addresses that are for a GE CCM module. Think it’s a bug. Try MODBUS. I used a SA3.5 with a Click using Modbus. Use the Click manual (http://www.automationdirect.com/adc/Shopping/Catalog/Programmable_Controllers/CLICK_Series_PLCs_%28Stackable_Micro_Brick%29/Documentation/C0-USER-M) for info on Modbus.

I had to change com 2 as Samkoon, null pc, and comm 1 to MODBUS, master. Now I can use PLC CONTROL and get addresses 0X, 1X, 3X… which I don’t recognize as PLC addresses… The trick here would be???

Sorry I’m too new to figure it out myself!

f16bmathis

Master or Slave. Don’t remember.
Send to com 1.
This will be VERY simple!!!
Go to Screen 1. Grab a Bit Lamp. Next to “Monitor Address”, click the keyboard symbol. Change the drop down from “Internal Storage Area” to “Com1”. You’ll see the address choices change.
I made my own cable.

I see the cable I use to program the PLC works as the comm cable, DUH on my part!

Did have to send to comm 1, and switch TS comms to comm 2

Just went to screen 1, properties of bit button, and I selected comm 1 and got addresses of 0X, 1X, 3X, ect… How would this be written at the PLC?

P.S. you have been very insightful, thanks so much!

keithkyll

0x, 1x are PLC addresses when you use Modbus.
Don’t try to study Modbus on the Internet. Too much stuff. Stick with manuals from AD.
You don’t have to do anything else. Connect an HMI to a PLC, and they start talking.

f16bmathis

0x, 1x are PLC addresses when you use Modbus.
Don’t try to study Modbus on the Internet. Too much stuff. Stick with manuals from AD.
You don’t have to do anything else. Connect an HMI to a PLC, and they start talking.

I viewed a panelview 600 program last night at work and saw how it configured the panelview as node 0 and the PLC as node 1, then the panelview button was given a tag StartPB which then was configured in edit tags to be sent to node 1 (the PLC) and was given the address N7:0/0. So thats how its done!

Modbus seems to work, so thats all I need to know for now.

f16bmathis

0x, 1x are PLC addresses when you use Modbus.
Don’t try to study Modbus on the Internet. Too much stuff. Stick with manuals from AD.
You don’t have to do anything else. Connect an HMI to a PLC, and they start talking.

Or so I thought, with Modbus, I still cannot enter an address like N7:0/0, but thats OK cause the Direct Logic 05 doesn’t have addrersses like that or like the Modbus 0x, 1x… either. Actually, I can’t find how the DL series accesses memory like an Allen Bradley N7:O or B3:0

LadderLogic

According to the Modbus standard, addresses are simply integers from 0 to 65,535 with the different address ranges being referred to as coils, holding registers, etc. However, some vendors will document their hardware using numerical prefixes which are not actually part of the Modbus address. This originated from some models of PLCs which used the Modbus communications protocol, and which also used numerical prefixes in their internal data table. This is similar to using “I”, “Q”, “V”, etc. as address prefixes in IEC type PLCs.
However, it is important to remember that these numerical prefixes are documentation methods and are not part of what the Modbus protocol itself sends as part of the messages. A difference in documentation methods does not affect the compatibility of the protocol itself.
These prefixes are they mentioned anywhere in the Modbus standard, but the following shows how they are typically used in documentation based on this older convention:

0xxxx – Coils.
1xxxx – Discrete inputs.
3xxxx – Input registers.
4xxxx – Holding registers.

Note that there is no 2xxxx address prefix.

http://mblogic.sourceforge.net/mbapps/ModbusBasics-en.html

I am not familiar with AD PLCs at all so I hope someone may advise how the Modbus addresses should map to the AD addresses.

f16bmathis

http://mblogic.sourceforge.net/mbapps/ModbusBasics-en.html

I am not familiar with AD PLCs at all so I hope someone may advise how the Modbus addresses should map to the AD addresses.

Yeah, I’ve tried several different inputs like Ox 1, Ox 111, and several other combinations of numbers and whatever else it’ll let me input. Best I had was using the AB comms and was able to input N7:0/0, but of course the DL PLC wouldn’t be able to use it. I read through the Direct Logic manual, and don’t see where they have any memory locations to use such as B3 or N7…or 0x, 1x…

cjh

Here is the conversion spreadsheet: http://support.automationdirect.com/docs/modbus_conversion.xls

LadderLogic

Yeah, I’ve tried several different inputs like Ox 1, Ox 111, and several other combinations of numbers and whatever else it’ll let me input. Best I had was using the AB comms and was able to input N7:0/0, but of course the DL PLC wouldn’t be able to use it.
Just forget about the AB addressing scheme, OK? 🙂 It is peculiar only to AB PLCs (well, not even to all of them); other brands have different structures entirely.

Look at the Excel file provided by cjh above. If you need to address AD’s internal memry address V0, your HMI application should refer to Modbus address 40001; for V100 it will be 40101 and so on (that is what Modbus calls “holding registers”, i.e. internal memory.

If you need to access AD’s global input GX0, your HMI app should call Modbus address 10001 and so on. I personally prefer not to have my HMI applications to read/write the PLC I/O memory and to deal only with internal registers, but it is up to you.

cjh

your HMI application should refer to Modbus address 40001; for V100 it will be 40101 and so on

Well, unfortunately, it’s not quite that easy but the general concept is correct.

DirectLogic memory addressing is in Octal format and the Modicon style Modbus addressing is in Decimal format so a conversion is necessary. 40101 actually lines up with V144.
If you enter the addresses in the spreadsheet, the macro function will calculate it for you.

f16bmathis

Just forget about the AB addressing scheme, OK? 🙂 It is peculiar only to AB PLCs (well, not even to all of them); other brands have different structures entirely.

Look at the Excel file provided by cjh above. If you need to address AD’s internal memry address V0, your HMI application should refer to Modbus address 40001; for V100 it will be 40101 and so on (that is what Modbus calls “holding registers”, i.e. internal memory.

If you need to access AD’s global input GX0, your HMI app should call Modbus address 10001 and so on. I personally prefer not to have my HMI applications to read/write the PLC I/O memory and to deal only with internal registers, but it is up to you.

I’d love to ignore it, and when it comes to entering a write location, using Modbus, on the Samkoon touchscreen, you HAVE to ignore it, because it won’t allow you to enter your own address. It has a drop down that gives you the option of 0x, 1x, 3x, and some other options like that, then an entry box next to the drop down that allows you to enter 0-9 and A-f, a: and a / and that’s it. But it won’t accept anything I enter into it, except when I loaded the AB drivers and entered N7:0/0 and such it would allow it, but of course the Automation Direct PLC has no idea what to do with that.

The chart looks like I can enter a location of 10001, but the entry requires something like 0x10001, but wont accept that either.

Didn’t think this would be easy! But that’s half the fun.

keithkyll

The 0x, 1x does the prefixes for you. It’s been a while, but I think 0x001 will turn on Y1. 1×001 will look at input 1.
4×001 will be V001. Try that.

keithkyll

Correction:
Input X1 – Choose 1x and enter 2049.
Output Y1 – Choose 0x and enter 2049.
V Memory – Choose 4x and enter 001.

The first address in the 205 series is X0 or Y0. The Modbus address is 2048. See the chart in chapter 4 of the DL205 Users Manual on page 4-36 (http://www.automationdirect.com/static/manuals/d2user/ch4.pdf).

f16bmathis

Correction:
Input X1 – Choose 1x and enter 2049.
Output Y1 – Choose 0x and enter 2049.
V Memory – Choose 4x and enter 001.

The first address in the 205 series is X0 or Y0. The Modbus address is 2048. See the chart in chapter 4 of the DL205 Users Manual on page 4-36 (http://www.automationdirect.com/static/manuals/d2user/ch4.pdf).

Thanks, tried this and now the DL205 will show a RX1 for a moment as I push the HMI bit button on, or the other I configured for off. The output does not turn on or off though. Getting closer! I’ll read pg 4-36 and see if that clues me in.

Thanks!

keithkyll

PLC port needs to be configured for Modbus. I saw one that was autoconfig, but that may have been a DL06. DL06 is based on the 250. Check specs for your CPU.

f16bmathis

PLC port needs to be configured for Modbus. I saw one that was autoconfig, but that may have been a DL06. DL06 is based on the 250. Check specs for your CPU.

I have port 1 talking to my computer and port 2 talking to the HMI. In PLC/setup/setup sec comm port I have port 2 connected with K-Sequence, DirectNet and Modbus, 9600, 1, odd, hex.

Should I uncheck DirectNet and K-Sequence?

f16bmathis

PLC port needs to be configured for Modbus. I saw one that was autoconfig, but that may have been a DL06. DL06 is based on the 250. Check specs for your CPU.

Read the comm setup in the Dl05 manual. Says comm 2 must be configured fowith ladder logic, but seems to imply port 1 does not, so I swapped ports 1&2. Port 1 is to the HMI and port 2 is to my computer. Still port 2 works great, upload and download a simple input / output ladder but port 1 still will not do anything but flash once when pushing the HMI button.

keithkyll

Baud rate? Software may have 38K selected for download. Don’t know if the Samkoon can go that high. It only has a 200MHz processor. Set everything for 9600, no polarity, and 1 stop bit.
The manual says autodetect for the protocol, but I would uncheck the others just to be sure.
Comm led flash sounds strange. I expect HMI to PLC comms to be continuous.

f16bmathis

Baud rate? Software may have 38K selected for download. Don’t know if the Samkoon can go that high. It only has a 200MHz processor. Set everything for 9600, no polarity, and 1 stop bit.
The manual says autodetect for the protocol, but I would uncheck the others just to be sure.
Comm led flash sounds strange. I expect HMI to PLC comms to be continuous.

You are a miracle worker!

I set the parity to none, and just as easy as that, I pressed the HMI button and it turned on my output! The baud was set at 9600.

Happy Thanksgiving! Thanks so much!

keithkyll

Your welcome. Glad you got it working. Thanks for the feedback.
Told you it was easy.
Happy Thanksgiving!