From BarikWiki
Jump to: navigation, search


This is an evaluation of converting a Siemens Project to an Allen-Bradley project, and the feasibility of porting such a project.

Hardware Assessment

The following remote hardware is available in the system, and are found on the Profibus network. It would need to be ported to Allen-Bradley:

See the Profibus GSD FAQ question for more information on GSD files. Don't try to guess what GSD means. It's a German word for "Geräte-stamm-datei", roughly, device description file. There's a discussion board post further explaining the GSD file name and extensions.

Downside: Won't be able to use any of the hardware diagnostics (module removal, card failure, and so on). These are proprietary to Siemens S7 hardware. If we want to emulate this behavior, we will need to find analogous instructions on the ControlLogix side as well as on the Profibus card.

There are also two digital I/O cards. They are:

  • DI32xDC24V
  • DO16xDC24V

Software Assessment

OB1. This is the main block. It only consists of other call blocks, so it can be ported, assuming that its subblocks can be ported.

I have provided a brief description of what I believe the called block does, along with possible complications to porting the block. Many of the blocks relate to S7 hardware so they have the same complications as mentioned in the Hardware Assessment section. The blocks are as follows:

  • FC100 (FC_Force_Inputs). This block is empty. It is used for testing/emulating.
  • FB60 (FB_System_Facilities). This block provides various utilities common to most PLCs, such as one-shots for different clocks, a first scan bit for when the PLC is first started, and working with date and time types. This block is not directly portable (e.g. variable to store the scan time) because it uses S7 specific hardware instructions, but AB equivalents for most of these instructions exist.
  • FB89 (FB_Diagnose_DP). This block cannot be directly ported. It contains S7 specific instructions to determine whether a slave has failed to respond to the Profibus network. This block will have to be re-written entirely to use the AB Profibus card equivalents, if available.
  • FB88 (FB_Diagnose_HW). Determines whether or not cards on the main rack are present. Again, not directly portable by AB equivalent instructions exist to emulate this behavior. In my opinion, the AB version of these instructions is actually much cleaner than the S7 implementation used.
  • FB91 (FB_Diagnose_ASI_PF). This block sends instructions to the VGB-PB-K20 DMD ASI Gateway. It should be more or less directly portable with the exception of the messaging instruction mechanism.
  • FB40 (FB_Establish_Con_T). This block is used to set up TCP/IP communications to a SAC and DB_status. Not porting.
  • FB43 (FB_Fetch_Write_Pass_T). Only used OPC server communication. This function is not needed for our port at this time.
  • FB410 (FB_Host_Rcv). Used to actually receive TCP/IP messages. Used by SAC. Not porting.
  • FB400 (FB_Host_Send). Used to actually send TCP/IP messages. Used by SAC. Not porting.
  • FB465 (FB_Scanner_Com_Sick).
  • FC109 (FC_IO_Available). Thus function goes through and checks to see if all I/O is okay by examining signals of drives, etc.
  • FB101 (FB_System). All of the physical transport is controller in this function block. This block detects E-Stops, populates HMI data, and calls other sub blocks (control areas). This block is the bulk of the actuation and warrants its own section.
  • FC103 (FC_Init_Records)
  • FB100 (FB_Copy_Records)
  • FC101 (FC_Force_Outputs). This block is empty. It is used for testing/emulating.

Physical Transport

This block is a (somewhat) exploded view of FB101 (FB_System). It calls different blocks and subblocks for different transport areas, the main area being FB800 (SBA). Some of these blocks are likely auto-generated from a template:

  • FB460 (FB_Cabinet_Manager). This is an information block.It collects the information which is not covered by the area, zone or section layers. This is information about the PLC, Profibus, Safety system and additional equipment located inside the main cabinet.
  • FB107 (FB_StartStop_Manager). Provide start and stop functions for a group of conveyors.
  • FB669 (FB_Signal_Column)
  • FB461 (FB_DP_Slave_Cabinet)
  • FB485 (FB_TRZ)
  • FB850 (FB_MGZ)
  • FB577 (FB_Merge_Manager)
  • FB481 (FB_TCTC_Receive)
  • FC139 (FC_Write_Int_Record). This function writes an INT into a specified position in a specified record within a DB.
  • FC136 (FC_Write_Bool_Record). This functions writes a BOOL into a specified position in a specified record within a DB.
  • FB486 (FB_TSZ).
  • FB565 (FB_IFZ_Short). This is a short infeed zone.
  • FB560 (FB_IFZ). This is an infeed zone.
  • FB855 (FB_SOZ). Block is for the Baxorter Sorter Zone.
  • FB578 (FB_Load_Balancer). Load balancer for 2, 3, or 4 outfeeds. This logic is quite large.
  • FB820, FB825, FB830, FB835. (FB_OFZ). These blocks are for building the Baxorter Outfeed Zone.
  • FB860 (FB_OFZ)

FB_128 (FB_HMI_Area) will not be ported.

The logic in these blocks appear to generally mimic what one would see in more traditional ladder logic, with interlocks, etc. The full dependency hierarchy will be generated in a later week.


  • Prosoft MVI56-PDPMV1. This is a PROFIBUS DP-V1 Master Communication Module. The module acts as an input/output module between the PROFIBUS network and the ControlLogix processor. Need the Prosoft Configuration Builder to configure. You will need to supply PCB the needed GSD files.
  • SST is an alternate manufacturer of this type of card. I am a little hesitant to use it as it was recently purchased by another vendor.

Legacy Mode

  • Use the following settings. RSLogix Revision 18, module should be placed in non-legacy mode.

Project Concerns