Someguy

RS232 Communication With ET200S SI Module

4 posts in this topic

My issue is trying to receive data from a Datalogic PM9500 barcode scanner onto a Siemens ET200S (IM151-8 PN/DP) CPU using a serial interface card (6ES7 131-4BD01-0AB0) with the ASCII Protocol.

The software that I'm using to program the PLC is TIA Portal V14. I made use of the built-in function block S_RCV to try and receive the data into a data block that I have created. I connected the Datalogic's base charger unit directly into the PLC's SI module. (I cut the DB9 plug off) So, Pin 5 (RXD) of the SI module is connected to the Tx wire (Brown) of the scanner, the Tx is also connected, as well as the ground, to the SI module, however, I only require the Rx. There is no flow control.

Upon scanning a barcode, the Rx LED on the SI card flashes, indicating that something was received. I have tested the scanner using a terminal program called "Hercules", and I am receiving what I should be when I scan something.

The parameters such as Parity, Stop Bits, and Baud Rate, etc, of the scanner corresponds to that of the SI module as well.

I paramatized the S_RCV block as follows:

1.) EN_R is always ON.

2.) R is defaulted to the instance DB that was created with the function block's tag. 

3.) LADDR  is set to "100" as that is the start address of my SI Module as defined in the device configuration.

4.) DB_NO is set to "2" as it is the number of the data block I created for storing the received data. 

5.) DBB_NO is set to "0", which I understand to be the data blocks offset start point from where to start inputting the data.

The rest of the NDR, ERROR, LEN, and STATUS outputs of the function block are also defaulted to the instance DB tags. I only want to see if I'm receiving the data from the barcode scanner into the datablock.

I created an array of bytes and I also tried with characters  from 0 to 30 to store the data. As I mentioned, the problem comes when I'm trying to scan something, the RX LED on the SI module pulses, but when I monitor for any changes in the Function Block, as well as for any changes in the Datablock itself, nothing happens at all. 

I don't know what If I'm missing something, this has been bugging me for some time now, I'm quite new to the whole programming scene, I would appreciate any help I could, get also I've attached the project file too. =)

 

Capture.PNG

Yumi_Panel.zap14

Share this post


Link to post
Share on other sites

This just how I connected it up to the PLC on the SI module, going to the Barcode scanner.

IMG_20171212_104106.jpg

Share this post


Link to post
Share on other sites

How do you have your End detection of a received frame parameters set?  If the lights are blinking, and you're getting the data in your terminal program, it probably means you don't have the module delimiters set correctly.  try setting it for After character delay time elapses set to 100ms.

Capture.JPG

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now