mvc view pdf : Adding text to a pdf document control SDK platform web page wpf asp.net web browser 8000DB10050-part1503

Data Bulletin
8000DB1005
06/2010
Raleigh, NC, USA
SEND_RECV_MSG_2 Function Block
for Serial Communication 
Retain for future use.
© 2010 SchneiderElectric All Rights Reserved
Overview
This data bulletin illustrates the use of the SEND_RECV_MSG_2 function 
block to send and receive data serially using a Modicon® M238™ logic 
controller. Management of the send and receive functions takes place within 
the application program. The SEND_RECV_MSG_2 function block acts as 
a channel for these transmissions.
The serial transmission components used in this example include:
Serial Port: The M238
logic controller has two serial ports: Serial Line 
(SL) 1 and SL2. Both ports have RS-485 capability; in addition, SL1 has 
RS-232 capability. For this example, the SL1 serial port uses a 
RS-232 protocol.
ASCII Manager: An intermediate layer between the physical serial port 
and the application program. It needs to be present and parameterized 
for the SEND_RECV_MSG_2 block to properly function.
SEND_RECV_MSG_2 Function Block: The interface for the program. 
This function block is a modified version of the SEND_RECV_MSG 
function block released in SoMachine
®
version 1.0. The modified 
function block includes the addition of a bytes-received output which is 
used to detect variable length packets. 
The focus of this data bulletin is on sending and receiving variable length 
packets using the ASCII manager in timeout mode.
Presumption
This bulletin is written for individuals familiar with ASCII Manager and 
SoMachine software and networked logic controllers. If you are not familiar 
with this software or network operation, please consult your system 
administrator.
Requirements 
The following hardware, software, and function block is required:
Hardware
Modicon
®
M238
logic controller
Software 
ASCII Manager
SoMachine
®
version 1.0
Function Block
SEND_RECV_MSG_2 
Related Documents
The following technical publication can be download from our website at 
www.us.schneider-electric.com.
Related documentation for SoMachine is available on the installation CD.
Title of Documentation
Reference Number
M238 Logic Controller Hardware Guide
EIO0000000016
Adding text to a pdf document - insert text into PDF content in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
XDoc.PDF for .NET, providing C# demo code for inserting text to PDF file
adding text to pdf in preview; adding text to a pdf in acrobat
Adding text to a pdf document - VB.NET PDF insert text library: insert text into PDF content in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Providing Demo Code for Adding and Inserting Text to PDF File Page in VB.NET Program
how to add text to a pdf file in acrobat; adding text to pdf
SEND_RECV_MSG_2 Function Block
8000DB1005
06/2010
© 2010 SchneiderElectric All Rights Reserved
2
Product Related Information
1. For additional information about anticipated transmissions delays or failures of the link, refer to NEMA ICS 1.1 
(latest edition), Safety Guidelines for the Application, Installation, and Maintenance of Solid State Control or 
its equivalent in your specific country, language, and/or location.
User Comments
We welcome your comments about this bulletin. You can reach us by e-mail 
at oem.solutions@schneider-electric.com.
WARNING
LOSS OF CONTROL
• The designer of any control scheme must consider the potential failure 
modes of control paths and, for certain critical control functions, provide 
a means to achieve a safe state during and after a path failure.
Examples of critical control functions are emergency stop and 
overtravel stop.
• Separate or redundant control paths must be provided for critical control 
functions.
• System control paths may include communication links. Consideration 
must be given to the implications of unanticipated transmission delays 
or failures of the link
1
Failure to follow these instructions can result in death, serious 
injury, or equipment damage.
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
DLLs for Adding Page into PDF Document in VB.NET Class. Add necessary references: RasterEdge.Imaging.Basic.dll. RasterEdge.Imaging.Basic.Codec.dll.
add text block to pdf; how to insert a text box in pdf
C# PDF Annotate Library: Draw, edit PDF annotation, markups in C#.
C#.NET: Add Text Box to PDF Document. Provide users with examples for adding text box to PDF and edit font size and color in text box field in C#.NET program.
how to insert text box in pdf file; adding text fields to pdf
8000DB1005 
SEND_RECV_MSG_2 Function Block
06/2010
Installation
© 2010 SchneiderElectric All Rights Reserved
3
Installation
This section covers the hardware connection of the
Modicon
®
M238™ logic controller to a standard DB9 serial pinout.
Serial Cable for RS-232
Figure1 shows the basic connection diagram for connecting the 
M238 logic controller to a standard DB9 serial pinout on SL1. 
Figure1:Cable pinout for the RS-232 signals on M238™ SL1 port
NOTES: 
The RS-485 connections exist on both SL1 and SL2: pin 4 is D1 and pin 
5 is D0. Pin 8 is used for 0 V or common when RS-485 is used.
If using RS-485 connections, activate the polarization resistors from 
within the software. This activation is especially necessary if the M238 is 
designated as the network master.
VB.NET PDF Text Box Edit Library: add, delete, update PDF text box
C#.NET Winforms Document Viewer, C#.NET WPF Document Viewer. VB.NET PDF - Add Text Box to PDF Page in VB Provide VB.NET Users with Solution of Adding Text Box to
how to input text in a pdf; adding text field to pdf
C# PDF Text Box Edit Library: add, delete, update PDF text box in
DNN (DotNetNuke), SharePoint. Provide .NET SDK library for adding text box to PDF document in .NET WinForms application. A web based
adding text to pdf in acrobat; how to add text to a pdf file in preview
SEND_RECV_MSG_2 Function Block
8000DB1005
Installing and Setting the ASCII Manager
06/2010
© 2010 SchneiderElectric All Rights Reserved
4
Serial Line Setup
The serial port must be setup for the appropriate baud rate, parity, data bits, 
and stop bits. Refer to Figure2 as necessary.
To configure the serial line:
1. Double click Serial Line 1 in the Devices navigation pane.
2. The Serial Line 1 tab displays the Configuration tab dialog box.
3. Using the dropdown lists, select the Baud rate, Parity, Data bits, and 
Stop bits. 
NOTE:The physical medium selected is RS 232.
Figure2:
Configuring the Serial Line in SoMachine
®
Installing and Setting the 
ASCII Manager
To install and configure the ASCII Manager:
1. Right click Serial Line 1 in the Devices navigation pane (see Figure2), 
then click Add Object. 
The Add Object dialog appears. See Figure3.
2. Select the ASCII Manager from the Miscellaneous list, then click Open. 
The ASCII Manager appears underneath Serial Line 1 in the Devices 
navigation pane. See Figure4 on page 5.
Figure3:
Adding the ASCII Manager to Serial Line 1 in SoMachine
Serial Line 1
Configuration Tab
VB.NET PDF Library SDK to view, edit, convert, process PDF file
Feel free to define text or images on PDF document and extract accordingly. Capable of adding PDF file navigation features to your VB.NET program.
how to add text box to pdf document; add text to pdf without acrobat
VB.NET PDF Text Add Library: add, delete, edit PDF text in vb.net
NET Winforms Document Viewer, C#.NET WPF Document Viewer. VB.NET PDF - Annotate Text on PDF Page in VB Professional VB.NET Solution for Adding Text Annotation to
how to add text to pdf document; how to insert text into a pdf using reader
8000DB1005 
SEND_RECV_MSG_2 Function Block
06/2010
Installing and Setting the ASCII Manager
© 2010 SchneiderElectric All Rights Reserved
5
3. Double click ASCII Manager in the Devices navigation pane.
4. The ASCII_Manager tab displays the Configuration tab dialog box. 
See Figure4.
The fields include ASCII parameters for:
— Start Character, First End Character, and Second End 
Character—allow automatic framing and parsing of simple serial 
parameters. Refer to SoMachine
®
on-line help.
— Frame Length Received and Frame Received Timeout— 
communicates to the ASCII Manager how to interpret whether or not 
a data packet is received. This is accomplished by either using a 
variable length packet (Frame Length Received) or by using a 
timeout value (Frame Received Timeout).
NOTE:Only one of these parameters can have a value.
For this example, the Start Character, First End Character, and Second End 
Character parameters are set to 0. The Frame Received Timeout is set to 
timeout in 25 milliseconds. The output of the SEND_RECV_MSG_2 block 
will determine how much data was received.
Figure4:
Settings inside the ASCII Manager
C# PDF Page Insert Library: insert pages into PDF file in C#.net
This C# .NET PDF document page inserting & adding component from RasterEdge is written in managed C# code and designed particularly for .NET class applications
adding text to pdf in reader; add text box in pdf
C# PDF insert image Library: insert images into PDF in C#.net, ASP
Using this C# .NET image adding library control for PDF document, you can easily and quickly add an image, picture or logo to any position of specified PDF
how to enter text in pdf; add text boxes to pdf document
SEND_RECV_MSG_2 Function Block
8000DB1005
Software Application
06/2010
© 2010 SchneiderElectric All Rights Reserved
6
Software Application
Send Receive Message Function 
Block
The SEND_RECV_MSG function block was released with version 1.0 of 
SoMachine
®
. This is a modified version of the original block that adds an 
output to communicate to the program how many bytes were received 
during the last transmission. 
With the original SEND_RECV_MSG block an associated function block is 
also used: ADDM. This function block is the address manager which 
handles the communication to the ASCII manager and serial port. A 
modified version of this function block (ADDM2) is utilized in the 
following example.
Figure5 shows the SEND_RECV_MSG_2 function block. Except for one 
output, the documentation is the same as that for the SEND_RECV_MSG 
block presented in the SoMachine help file. 
Figure5:
SEND_RECV_MSG_2 Function Block I/O Structure.
Table1 contains the pin name followed by a description of the pin function.
Table1:
Function Block Pin Descriptions
Pin Name
Description
Execute
The SEND_RECV_MSG_2 function block performs a 
transmission/reception cycle when TRUE. Normally hooked to the output 
of the ADDM2 function block.
Abort
When TRUE, this input cancels all pending transactions occurring within 
the block and the Aborted output will go active. For instance, if the 
Timeout input is set to zero and nothing is connected serially, it is possible 
to have the block go into a perpetual busy state (the Busy output will be 
active). Setting the Abort input to TRUE will end the busy state.
Addr
A data structure managed by the ADDM2 function block.
Timeout
An additional timeout quantity for the block (as opposed to the ASCII 
Manager). This quantity provides an extra timeout possibility in cases 
where no responder is present on the serial network. 
This is an additional safeguard; so it can usually be set in a multiple of the 
ASCII Manager timeout value (factor of 10).
NOTE:This is a WORD quantity in multiples of 100ms; a 10 at this input 
would represent a 1 second timeout value.
QuantityToSend
The number of bytes to send out of the array attached to the 
BufferToSend input. 
A zero or quantity larger than the array itself will trigger an error if the 
Execute input is set to TRUE. During normal operation, the size of the 
packet to be transmitted is entered prior to transmission.
BufferToSend
A memory pointer to an array of bytes representing the transmit buffer. 
Since this is a pointer reference to an array, the ADR function is used.
SizeRecvBuffer
The maximum size of the byte array representing the receive buffer. This 
value can usually be left statically set to the array size minus 1. 
It establishes a maximum number of received bytes as opposed to an 
expected value. 
BufferToRecv
Similar to BufferToSend—For serially received packets.
8000DB1005 
SEND_RECV_MSG_2 Function Block
06/2010
Software Application
© 2010 SchneiderElectric All Rights Reserved
7
Block Utilization Cycle
A typical block utilization cycle follows:
1. The application program populates the transmit array with bytes which 
represent the serial packet to be sent. The input (Quantity to Send) is set 
to the total number of transmitted bytes (packet length). 
NOTE:The SizeRecvBuffer value is preset to the maximum size of the 
receive array.
2. The Execute input is set to TRUE on the ADDM2 block which outputs an 
active signal to the SEND_RECV_MSG_2 function block. If there are no 
detected errors, the packet is transmitted through the serial port.
3. The ASCII Manager timeout sequence begins and the serial port 
subsystem waits for a response packet.
4. There are several possible outcomes:
a. The external serial device does not respond and the ASCII manager 
timeout value is exceeded. 
The SEND_RECV_MSG_2 flag is set to TRUE with the detected 
error codes presented at the ComError and OperError outputs.
b. The external device on the serial connection returns a response 
packet. 
The SEND_RECV_MSG_2 function block sets the Done flag to 
TRUE and presents the number of received bytes at the 
NbBytesRecv output.
c. If no serial connection is present, the SEND_RECV_MSG_2 function 
block sits idle with its Busy output active. If set greater than 0, the 
Timeout input of the SEND_RECV_MSG_2 function block causes 
the entire transaction to drop out.
d. An internal SEND_RECV_MSG_2 block detected error occurs if 
inputs are set incorrectly. The result is similar to the “a” bullet point.
Done
When TRUE, implies that the SEND_RECV_MSG_2 block has completed 
a cycle. If no errors are present, the NbBytesRecv output shows the 
number of bytes received during the last transaction. 
The receive buffer array can be inspected for data.
Busy
This output is set to TRUE when the block has a transaction in process 
(such as: waiting to receive data).
Aborted
If TRUE, this output is signaling the cancellation of the last executed 
transaction. 
NOTE:The transaction is cancelled by application intervention through 
the Abort input (see above).
Error
When active, this output signals that an error event was detected during 
the last transaction cycle. 
NOTE:Details are in the CommError and OperError outputs.
CommError
If the Error output is TRUE, this value represents a detected 
communication error. This information is used for troubleshooting 
purposes.
OperError
If the Error output is TRUE, this value represents a detected operation 
error. This information is used for troubleshooting purposes.
NbBytesRecv
This output is the primary difference between the standard 
SEND_RECV_MSG and SEND_RECV_MSG_2 block types. When the 
Done output is set to TRUE after an executed transaction, this quantity 
represents the number of bytes received into the array.
Table1:
Function Block Pin Descriptions (continued)
Pin Name
Description
SEND_RECV_MSG_2 Function Block
8000DB1005
Software Application
06/2010
© 2010 SchneiderElectric All Rights Reserved
8
Application Example
In this example, the M238™ logic controller is connected to a PC running 
Windows
®
through serial port SL1 using a RS-232 protocol. The PC is 
running a simple program. This Windows program will respond as follows:
If the logic controller transmits the following 4 byte packet: 
<STX><ENQ><’1’><ETX> the program responds with the 6 byte packet 
<STX><ACK><’1’><’2’><’3’><ETX>.
If the logic controller transmits the following 4 byte packet: 
<STX><ENQ><’2’><ETX> the program responds with the 9 byte packet 
<STX><ACK><’1’><’2’><’3’>><’4’><’5’><’6’><ETX>.
If the logic controller transmits the following 4 byte packet: 
<STX><ENQ><’3’><ETX> the program responds with the 10 byte 
packet <STX><ACK><’1’><’2’><’3’>><’4’><’5’><’6’><’7’><ETX>.
Figure6 shows the SoMachine
®
application program. 
Figure6:
SoMachine Application Program.
NOTES: 
The program uses the ASCII Manager value Frame Receive Timeout in 
conjunction with the NbBytesRecv output to receive and parse multiple 
packet sizes sent serially from the Windows program.
The execution of a serial transaction occurs at the input of the ADDM2 
function block. Its output is actually setting the Execute input of the 
SEND_RECV_MSG_2 function block. If a hardware failure occurs, the 
serial transaction does not execute.
Timeout value for the SEND_RECV_MSG_2 function block is set to 25, 
or 2.5 seconds. This is a factor of 100 to the Frame Receive Timeout 
value in the ASCII Manager.
The Abort flag is not used since the Timeout value is set greater than 
zero.
8000DB1005 
SEND_RECV_MSG_2 Function Block
06/2010
Software Application
© 2010 SchneiderElectric All Rights Reserved
9
The ADR functions create references for transmit and receive byte arrays.
The receive buffer size is statically set while the transmit quantity can be 
set to send variable length transmit packets through the application.
Example 1 represents a code section of the Serial_Protocol_Tester function 
block. This function block is a continuous serial test running through the 
various packet iterations with verification of the returned values.
NOTE:The <STX><ENQ><’1’><ETX> packet is created manually in the 
transmit buffer. The size of the packet is then output and the 
SEND_RECV_MSG_2 block is eventually set to perform the serial transaction. 
Example 1:
Set up for transmission of a packet in the Serial_Protocol_Tester function block.
SEND_RECV_MSG_2 Function Block
8000DB1005
Software Application
06/2010
© 2010 SchneiderElectric All Rights Reserved
10
Example 2:
Verifying packet receipt and data integrity in the Serial_Protocol_Tester 
function block.
NOTE:After the number of received bytes is inspected (from NbBytesRecv 
output in the SEND_RECV_MSG_2 block) the contents of the packet are 
manually inspected in the receive buffer to verify data integrity.
Documents you may be interested
Documents you may be interested