ET200S 1SI MODBUS Help??

mosama

Member
Join Date
May 2009
Location
Egypt
Posts
182
I'm using SIEMENS ET200S 1SI MODBUS module (6ES7 138-4DF11-0AB0). My program and configuration can be downloaded from this link:

http://www.mediafire.com/?hsm66qxyiyiw5ar

The problem is that after downloading the program, the 1SI module is not giving any indication at all (SF, TX o RX).

What could be the problem ??
 
Try to send request with cycle like

A #Nad.TRIGGER //Trigger SEND
AN #Nad.REQ //SEND_REQ
AN #Nad.DONE //SEND_DONE
AN #Nad.ERROR //SEND_ERROR
R #Nad.TRIGGER //Reset Trigger SEND
S #Nad.REQ //Set SEND_REQ

AN #Nad.TRIGGER
L #S5T500ms
SD T 100
A T 100
S #Nad.TRIGGER

// ------------------------
// Generate edge SEND_REQ
// ------------------------
A(
O #Nad.DONE //SEND_DONE
O #Nad.ERROR //SEND_ERROR
)
A #Nad.REQ //SEND_REQ
R #Nad.REQ //SEND with REQ=0

// Supply LEN
// ------------------------
NOP 0
L W#16#6 //Length SEND-Data (for FC01)
T #Nad.LEN //SEND LEN

// ------------------------
// SEND with Instance-DB
// ------------------------
CALL #Send
REQ :=#Nad.REQ
R :=#Nad.RST
LADDR :=264
DB_NO :=2
DBB_NO :=0
LEN :=#Nad.LEN
DONE :=#Nad.DONE
ERROR :=#Nad.ERROR
STATUS :=#Nad.STAT
COM_RST:=#Nad.FB_RST

Do you have any modbus slave, so you can connect and test recieving?
 
Yes I'm connecting modbus slave. I'm sending request every one second. Now the TX and RX leds are blinking but still nothing received in the receive DB !!!
 
OK
1. First you have to know what address is your slave
Write it in DB2.DBB0 in SLAVE_ADDRESS
2. Then you can send in DB2.DBB1=B#16#3 in FUNCTION_CODE . That means "register read" as far as I remember.
3. In BIT_COUNT you can write 2 it means we want to read only one register
4. In BIT_START_ADD you have to write an address of register you want to read. To do that you need to know what is a structure of registers in your slave devices. You can find it in manual of your device.

Your recive function can be like that and call continueisly

CALL #Recive
EN_R :=TRUE
R :=#Odb.RST
LADDR :=650
DB_NO :=3
DBB_NO :=#0
NDR :=#Odb.NDR
ERROR :=#Odb.ERROR
LEN :=#Odb.LEN
STATUS :=#Odb.STAT
COM_RST:=#Odb.FB_RST
 
Look at closer if your RX diode is blinking. TX diode light is very strong so you might see from far distance that RX diode is blinking as well
 
Yes both RX and TX are blinking. Salve address is correct. I don't know what is the problem
 
Status code is W#16#0
There is no need for resistor because I'm testing in office. The RS485 cable is very short
 
OK
What I see is:
You try to read 110 registers starting from address 0. If they dont exist you will read nothing.
I see in manual that we can make a variables in Tbox and give them modbus addresses.
Try first to make one variable and try to read it.
 
In tbox i made a variable called test then made a sample program to move 24 to this variable:

tbox1.png
 

Similar Topics

Hi, I need to test a scanner connected via RS232 / ASCII on a ET200S 1SI CP card. After downloading the hardware configuration I have fault leds...
Replies
1
Views
1,381
hi guys i need help in communication of 1SI module with RS-485. i want to communicate 1SI module with TTM 004 temperature controller through...
Replies
1
Views
2,268
I was trying to communicate between Siemens ET200S IM-151-8 PN/DP CPU to Rockwell Allen Bradley L73 through Hilscher Gateway NT100-RE-EN. Using...
Replies
0
Views
128
Hi all It’s been a while since I did any safety config with an S7-300 PLC and I think I must be missing something , I’ve added a 4F-DO output...
Replies
7
Views
3,838
PLC in the project that I am currently working on has following GSD file but I cant find it anywhere online. My PLC is ET200S and its CPU is...
Replies
7
Views
2,111
Back
Top Bottom