7/11/2010 1:29 PM | |
Posts: 101 Rating: (11) |
Hi, check this: https://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&lang=en&objid=24781781&caller=view see attached, the same. Also, in order to programe the free RS port, you might consider this template: find below the code program that i thought it might be of help for you. ***in main*** ************************************************************************************************************** ORGANIZATION_BLOCK MAIN:OB1 TITLE=PROGRAM COMMENTS BEGIN --------------------------------------- Network 1 // Network Title // Network Comment, the @ sign should be written at the end of every sent message. ------------------------------------------ LD SM0.1 MOVB 16#09, SMB30 MOVB 16#B0, SMB87 MOVB '@', SMB89 MOVW +5, SMW90 MOVB 100, SMB94 ATCH INT0, 23 ATCH INT2, 9 ENI RCV VB100, 0 ****************************************************** ***in INT0*** Network 1 // Network Title LDB= SMB86, 16#20 LPS MOVB 255, SMB34 ATCH INT1, 10 AENO S M0.0, 1 LRD CRETI LPP NOT RCV VB100, 0 ****************************************************** ***in INT1*** Network 1 LD M0.0 LPS DTCH 10 AENO = Q1.0 LRD XMT VB100, 0 AENO R M0.0, 1 LPP CRETI ****************************************************** ***in INT2*** Network 1 LD SM0.0 RCV VB100, 0 END_INTERRUPT_BLOCK ************************************************************************************************************ All you need to do is to enable STL coding on your microwin instead of LAD. cut and past the above code and compile and download. NOTE: this code can also be seen as LAD, go to view, then click on LAD, then the code will be converted to LAD. The above code is only for freeport 0 if you are using s7200 -CPU 224XP. Explanation: Actually, all you need to do is to send your data in the PCs' terminal in the order you want. In the PLC side, the data is received in VB100; VB100 is only the starting index to a virtual table(TBL) in which all data that you send will be saved. the code allows you to send up to a maximum of 100 bytes in one dump, this 100 can be changed if you want to; just move the 20 to SMB94. however don't forget the terminater that you should send at the end of your message in the PC's terminal, in the code i have made it the @ sign. If you don't send the terminator char, then the PLC's free port will not accept the message. If you want to check the data received in the PLC, you have two options to achieve that: - Either by clicking on the Status Chart and from there you input vb100 and then click on theglasses button to see what data actually received. - Or by checking that through the code, and here is the code: ***************************************************** Let say upon receving the following string: "are you awake?@", the PLC should reply with yes, coded as "y". this can be achieved as follows before the end of main: ***************************************************** LDS= "are you awake?@", VB100 MOVB '1', VB200 AENO MOVB 'y', VB201 *******************end of check******************* The reason i moved a dummy char, '1', to VB200 is that it will not be seen at the PC side as you receive the reply message 'y', because it will be eaten as it specifies the length of the string. Let be more specific here, this is because of the following: "The Format of ASCII Constant STRING Data Type: A string is a sequence of characters, with each character being stored as a byte. The first byte of the string defines the length of the string, which is the number of characters. If the constant string is entered directly in the program editor or data block, then the string must begin and end with double quote characters ("string constant"). The memory map below shows the format of a STRING data type. The string can have a length of 0 to 254 characters. The maximum length for a string is 255 bytes (254 characters plus the length byte). " The above code can be seen in LAD if you click on view-LAD. AttachmentPC_Adapter.zip (362 Downloads) |
This contribution was helpful to2 thankful Users |
7/13/2010 2:48 AM | |
Joined: 5/28/2008 Last visit: 9/21/2024 Posts: 4515 Rating: (839)
|
Hello, I think the best adapter you should have is the USB PC adapter 6ES7972-0CB20-0XA0. You can use it for connection to S7 200, 300, 400 or C7. It is supports PPI, MPI or Profibus DP up to 1.5kbps. And there are other lower costpossibilities with 6ES7901-3CB30-0XA0 for connection to S7 200 using serial port of your PC or with 6ES7901-3DB30-0XA0for connection to S7 200 using USB port of your PC. You have a PC adapter (MPI serial PC adapter). This PC adapter is not released for PPI communication. You can use it with MPI networks with limited baud rates (19200 or 38400 kbps by adjusting the dip switch located in the side of the adapter).
Basically yes, but I am not sure, Please read section 4.3 Configuration of a CP 243-1 IT with STEP 7 Micro/WIN 32. of this manual. Hope this helps. |
Ayman Elotaify |
|
Follow us on