S7 1200 Programmable Controller S71200 System Manual En US
User Manual: Pdf
Open the PDF directly: View PDF
Page Count: 1614 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- S7-1200 Programmable controller
- Preface
- Table of contents
- 1 Product overview
- 2 New features
- 3 STEP 7 programming software
- 3.1 System requirements
- 3.2 Different views to make the work easier
- 3.3 Easy-to-use tools
- 3.3.1 Inserting instructions into your user program
- 3.3.2 Accessing instructions from the "Favorites" toolbar
- 3.3.3 Creating a complex equation with a simple instruction
- 3.3.4 Adding inputs or outputs to a LAD or FBD instruction
- 3.3.5 Expandable instructions
- 3.3.6 Selecting a version for an instruction
- 3.3.7 Modifying the appearance and configuration of STEP 7
- 3.3.8 Dragging and dropping between editors
- 3.3.9 Changing the operating mode of the CPU
- 3.3.10 Changing the call type for a DB
- 3.3.11 Temporarily disconnecting devices from a network
- 3.3.12 Virtual unplugging of devices from the configuration
- 3.4 Backward compatibility
- 4 Installation
- 4.1 Guidelines for installing S7-1200 devices
- 4.2 Power budget
- 4.3 Installation and removal procedures
- 4.3.1 Mounting dimensions for the S7-1200 devices
- 4.3.2 Installing and removing the CPU
- 4.3.3 Installing and removing an SB, CB, or BB
- 4.3.4 Installing and removing an SM
- 4.3.5 Installing and removing a CM or CP
- 4.3.6 Removing and reinstalling the S7-1200 terminal block connector
- 4.3.7 Installing and removing the expansion cable
- 4.3.8 TS (TeleService) adapter
- 4.4 Wiring guidelines
- 5 PLC concepts
- 5.1 Execution of the user program
- 5.1.1 Operating modes of the CPU
- 5.1.2 Processing the scan cycle in RUN mode
- 5.1.3 Organization blocks (OBs)
- 5.1.3.1 Program cycle OB
- 5.1.3.2 Startup OB
- 5.1.3.3 Time delay interrupt OB
- 5.1.3.4 Cyclic interrupt OB
- 5.1.3.5 Hardware interrupt OB
- 5.1.3.6 Time error interrupt OB
- 5.1.3.7 Diagnostic error interrupt OB
- 5.1.3.8 Pull or plug of modules OB
- 5.1.3.9 Rack or station failure OB
- 5.1.3.10 Time of day OB
- 5.1.3.11 Status OB
- 5.1.3.12 Update OB
- 5.1.3.13 Profile OB
- 5.1.3.14 MC-Servo and MC-Interpolator OB
- 5.1.3.15 MC-PreServo
- 5.1.3.16 MC-PostServo
- 5.1.3.17 Event execution priorities and queuing
- 5.1.4 Monitoring and configuring the cycle time
- 5.1.5 CPU memory
- 5.1.6 Diagnostics buffer
- 5.1.7 Time of day clock
- 5.1.8 Configuring the outputs on a RUN-to-STOP transition
- 5.2 Data storage, memory areas, I/O and addressing
- 5.3 Processing of analog values
- 5.4 Data types
- 5.4.1 Bool, Byte, Word, and DWord data types
- 5.4.2 Integer data types
- 5.4.3 Floating-point real data types
- 5.4.4 Time and Date data types
- 5.4.5 Character and String data types
- 5.4.6 Array data type
- 5.4.7 Data structure data type
- 5.4.8 PLC data type
- 5.4.9 Variant pointer data type
- 5.4.10 Accessing a "slice" of a tagged data type
- 5.4.11 Accessing a tag with an AT overlay
- 5.5 Using a memory card
- 5.6 Recovery from a lost password
- 5.1 Execution of the user program
- 6 Device configuration
- 6.1 Inserting a CPU
- 6.2 Uploading the configuration of a connected CPU
- 6.3 Adding modules to the configuration
- 6.4 Configuration control
- 6.5 Changing a device
- 6.6 Configuring the operation of the CPU
- 6.7 Configuring multilingual support
- 6.8 Configuring the parameters of the modules
- 6.9 Configuring the CPU for communication
- 6.10 Time synchronization
- 7 Programming concepts
- 7.1 Guidelines for designing a PLC system
- 7.2 Structuring your user program
- 7.3 Using blocks to structure your program
- 7.4 Understanding data consistency
- 7.5 Programming language
- 7.6 Protection
- 7.7 Downloading the elements of your program
- 7.8 Synchronizing the online CPU and offline project
- 7.9 Uploading from the online CPU
- 7.10 Debugging and testing the program
- 8 Basic instructions
- 8.1 Bit logic operations
- 8.2 Timer operations
- 8.3 Counter operations
- 8.4 Comparator operations
- 8.5 Math functions
- 8.5.1 CALCULATE (Calculate)
- 8.5.2 Add, subtract, multiply and divide instructions
- 8.5.3 MOD (return remainder of division)
- 8.5.4 NEG (Create twos complement)
- 8.5.5 INC (Increment) and DEC (Decrement)
- 8.5.6 ABS (Form absolute value)
- 8.5.7 MIN (Get minimum) and MAX (Get maximum)
- 8.5.8 LIMIT (Set limit value)
- 8.5.9 Exponent, logarithm, and trigonometry instructions
- 8.6 Move operations
- 8.6.1 MOVE (Move value), MOVE_BLK (Move block), UMOVE_BLK (Move block uninterruptible), and MOVE_BLK_VARIANT (Move block)
- 8.6.2 Deserialize
- 8.6.3 Serialize
- 8.6.4 FILL_BLK (Fill block) and UFILL_BLK (Fill block uninterruptible)
- 8.6.5 SWAP (Swap bytes)
- 8.6.6 LOWER_BOUND: (Read out ARRAY low limit)
- 8.6.7 UPPER_BOUND: (Read out ARRAY high limit)
- 8.6.8 Read / Write memory instructions
- 8.6.9 Variant instructions
- 8.6.10 Legacy instructions
- 8.7 Conversion operations
- 8.7.1 CONV (Convert value)
- 8.7.2 Conversion instructions for SCL
- 8.7.3 ROUND (Round numerical value) and TRUNC (Truncate numerical value)
- 8.7.4 CEIL and FLOOR (Generate next higher and lower integer from floating-point number)
- 8.7.5 SCALE_X (Scale) and NORM_X (Normalize)
- 8.7.6 Variant conversion instructions
- 8.8 Program control operations
- 8.8.1 JMP (Jump if RLO = 1), JMPN (Jump if RLO = 0), and Label (Jump label) instructions
- 8.8.2 JMP_LIST (Define jump list)
- 8.8.3 SWITCH (Jump distributor)
- 8.8.4 RET (Return)
- 8.8.5 ENDIS_PW (Enable/disable CPU passwords)
- 8.8.6 RE_TRIGR (Restart cycle monitoring time)
- 8.8.7 STP (Exit program)
- 8.8.8 GET_ERROR and GET_ERROR_ID (Get error and error ID locally) instructions
- 8.8.9 RUNTIME (Measure program runtime)
- 8.8.10 SCL program control statements
- 8.9 Word logic operations
- 8.10 Shift and rotate
- 9 Extended instructions
- 9.1 Date, time-of-day, and clock functions
- 9.2 String and character
- 9.2.1 String data overview
- 9.2.2 S_MOVE (Move character string)
- 9.2.3 String conversion instructions
- 9.2.4 String operation instructions
- 9.2.4.1 MAX_LEN (Maximum length of a character string)
- 9.2.4.2 LEN (Determine the length of a character string)
- 9.2.4.3 CONCAT (Combine character strings)
- 9.2.4.4 LEFT, RIGHT, and MID (Read substrings in a character string) instructions
- 9.2.4.5 DELETE (Delete characters in a character string)
- 9.2.4.6 INSERT (Insert characters in a character string)
- 9.2.4.7 REPLACE (Replace characters in a character string)
- 9.2.4.8 FIND (Find characters in a character string)
- 9.2.5 Runtime information
- 9.2.5.1 GetSymbolName (Read out a tag on the input parameter)
- 9.2.5.2 GetSymbolPath (Query composite global name of the input parameter assignment)
- 9.2.5.3 GetInstanceName (Read out name of the block instance)
- 9.2.5.4 GetInstancePath (Query composite global name of the block instance)
- 9.2.5.5 GetBlockName (Read out name of the block)
- 9.3 Distributed I/O (PROFINET, PROFIBUS, or AS-i)
- 9.3.1 Distributed I/O Instructions
- 9.3.2 RDREC and WRREC (Read/write data record)
- 9.3.3 GETIO (Read process image)
- 9.3.4 SETIO (Transfer process image)
- 9.3.5 GETIO_PART (Read process image area)
- 9.3.6 SETIO_PART (Transfer process image area)
- 9.3.7 RALRM (Receive interrupt)
- 9.3.8 D_ACT_DP (Enable/disable PROFINET IO devices)
- 9.3.9 STATUS parameter for RDREC, WRREC, and RALRM
- 9.3.10 Others
- 9.4 PROFIenergy
- 9.5 Interrupts
- 9.6 Alarms
- 9.7 Diagnostics (PROFINET or PROFIBUS)
- 9.7.1 Diagnostic instructions
- 9.7.2 RD_SINFO (Read current OB start information)
- 9.7.3 LED (Read LED status)
- 9.7.4 Get_IM_Data (Read the identification and maintenance data)
- 9.7.5 Get_Name (Read the name of a PROFINET IO device)
- 9.7.6 GetStationInfo (Read the IP or MAC address of a PROFINET IO device)
- 9.7.7 DeviceStates instruction
- 9.7.8 ModuleStates instruction
- 9.7.9 GET_DIAG (Read diagnostic information)
- 9.7.10 Diagnostic events for distributed I/O
- 9.8 Pulse
- 9.9 Recipes and Data logs
- 9.10 Data block control
- 9.11 Address handling
- 9.11.1 GEO2LOG (Determine the hardware identifier from the slot)
- 9.11.2 LOG2GEO (Determine the slot from the hardware identifier)
- 9.11.3 IO2MOD (Determine the hardware identifier from an I/O address)
- 9.11.4 RD_ADDR (Determine the IO addresses from the hardware identifier)
- 9.11.5 GEOADDR system data type
- 9.12 Common error codes for the Extended instructions
- 10 Technology instructions
- 10.1 Counting (High-speed counters)
- 10.2 PID control
- 10.2.1 Inserting the PID instruction and technology object
- 10.2.2 PID_Compact
- 10.2.3 PID_3Step
- 10.2.4 PID_Temp
- 10.2.5 Configuring the PID_Compact and PID_3Step controllers
- 10.2.6 Configuring the PID_Temp controller
- 10.2.7 Commissioning the PID_Compact and PID_3Step controllers
- 10.2.8 Commissioning the PID_Temp controller
- 10.3 Motion control
- 10.3.1 Phasing
- 10.3.2 Configuring a pulse generator
- 10.3.3 Open loop motion control
- 10.3.4 Closed loop motion control
- 10.3.5 Configuring the TO_CommandTable_PTO
- 10.3.6 Operation of motion control for S7-1200
- 10.3.7 Motion control instructions
- 10.3.7.1 MC instruction overview
- 10.3.7.2 MC_Power (Release/block axis)
- 10.3.7.3 MC_Reset (Confirm error)
- 10.3.7.4 MC_Home (Home axis)
- 10.3.7.5 MC_Halt (Pause axis)
- 10.3.7.6 MC_MoveAbsolute (Position axis absolutely)
- 10.3.7.7 MC_MoveRelative (Position axis relatively)
- 10.3.7.8 MC_MoveVelocity (Move axis at predefined velocity)
- 10.3.7.9 MC_MoveJog (Move axis in jog mode)
- 10.3.7.10 MC_CommandTable (Run axis commans as movement sequence)
- 10.3.7.11 MC_ChangeDynamic (Change dynamc settings for the axis)
- 10.3.7.12 MC_WriteParam (write parameters of a technology object)
- 10.3.7.13 MC_ReadParam instruction (read parameters of a technology object)
- 10.3.8 Monitoring active commands
- 10.3.9 ErrorIDs and ErrorInfos for motion control
- 11 Communication
- 11.1 Asynchronous communication connections
- 11.2 PROFINET
- 11.2.1 Creating a network connection
- 11.2.2 Configuring the Local/Partner connection path
- 11.2.3 Assigning Internet Protocol (IP) addresses
- 11.2.4 Testing the PROFINET network
- 11.2.5 Locating the Ethernet (MAC) address on the CPU
- 11.2.6 Configuring Network Time Protocol (NTP) synchronization
- 11.2.7 PROFINET device start-up time, naming, and address assignment
- 11.2.8 Open user communication
- 11.2.8.1 Protocols
- 11.2.8.2 TCP and ISO on TCP
- 11.2.8.3 Communication services and used port numbers
- 11.2.8.4 Ad hoc mode
- 11.2.8.5 Connection IDs for the Open user communication instructions
- 11.2.8.6 Parameters for the PROFINET connection
- 11.2.8.7 TSEND_C and TRCV_C instructions
- 11.2.8.8 Legacy TSEND_C and TRCV_C instructions
- 11.2.8.9 TCON, TDISCON, TSEND, and TRCV instructions
- 11.2.8.10 Legacy TCON, TDISCON, TSEND, and TRCV instructions
- 11.2.8.11 T_RESET (Terminate and re-establish an existing connection) instruction
- 11.2.8.12 T_DIAG (Checks the status of connection and reads information) instruction
- 11.2.8.13 TMAIL_C (Send an email using the Ethernet interface of the CPU) instruction
- 11.2.8.14 UDP
- 11.2.8.15 TUSEND and TURCV
- 11.2.8.16 T_CONFIG
- 11.2.8.17 Common parameters for instructions
- 11.2.9 Communication with a programming device
- 11.2.10 HMI-to-PLC communication
- 11.2.11 PLC-to-PLC communication
- 11.2.12 Configuring a CPU and PROFINET IO device
- 11.2.13 Configuring a CPU and PROFINET I-device
- 11.2.14 Shared devices
- 11.2.15 Media Redundancy Protocol (MRP)
- 11.2.16 S7 routing
- 11.2.17 Disabling SNMP
- 11.2.18 Diagnostics
- 11.2.19 Distributed I/O instructions
- 11.2.20 Diagnostic instructions
- 11.2.21 Diagnostic events for distributed I/O
- 11.3 PROFIBUS
- 11.4 AS-i
- 11.5 S7 communication
- 12 Web server
- 12.1 Enabling the Web server
- 12.2 Configuring Web server users
- 12.3 Accessing the Web pages from a PC
- 12.4 Accessing the Web pages from a mobile device
- 12.5 Using a CP module to access Web pages
- 12.6 Standard Web pages
- 12.7 User-defined Web pages
- 12.7.1 Creating HTML pages
- 12.7.2 AWP commands supported by the S7-1200 Web server
- 12.7.2.1 Reading variables
- 12.7.2.2 Writing variables
- 12.7.2.3 Reading special variables
- 12.7.2.4 Writing special variables
- 12.7.2.5 Using an alias for a variable reference
- 12.7.2.6 Defining enum types
- 12.7.2.7 Referencing CPU variables with an enum type
- 12.7.2.8 Creating fragments
- 12.7.2.9 Importing fragments
- 12.7.2.10 Combining definitions
- 12.7.2.11 Handling tag names that contain special characters
- 12.7.3 Configuring use of user-defined Web pages
- 12.7.4 Configuring the entry page
- 12.7.5 Programming the WWW instruction for user-defined web pages
- 12.7.6 Downloading the program blocks to the CPU
- 12.7.7 Accessing the user-defined Web pages
- 12.7.8 Constraints specific to user-defined Web pages
- 12.7.9 Example of a user-defined web page
- 12.7.9.1 Web page for monitoring and controlling a wind turbine
- 12.7.9.2 Reading and displaying controller data
- 12.7.9.3 Using an enum type
- 12.7.9.4 Writing user input to the controller
- 12.7.9.5 Writing a special variable
- 12.7.9.6 Reference: HTML listing of remote wind turbine monitor Web page
- 12.7.9.7 Configuration in STEP 7 of the example Web page
- 12.7.10 Setting up user-defined Web pages in multiple languages
- 12.7.11 Advanced user-defined Web page control
- 12.8 Constraints
- 13 Communication processor and Modbus TCP
- 13.1 Using the serial communication interfaces
- 13.2 Biasing and terminating an RS485 network connector
- 13.3 Point-to-point (PtP) communication
- 13.3.1 PtP, Freeport communication
- 13.3.2 3964(R) communication
- 13.3.3 Configuring the PtP Freeport communication
- 13.3.4 Configuring 3964(R) communication
- 13.3.5 Point-to-point instructions
- 13.3.5.1 Common parameters for Point-to-Point instructions
- 13.3.5.2 Port_Config (Configure communication parameters dynamically)
- 13.3.5.3 Send_Config (Configure serial transmission parameters dynamically)
- 13.3.5.4 Receive_Config (Configure serial receive parameters dynamically)
- 13.3.5.5 P3964_Config (Configuring the 3964(R) protocol)
- 13.3.5.6 Send_P2P (Transmit send buffer data)
- 13.3.5.7 Receive_P2P (Enable receive messages)
- 13.3.5.8 Receive_Reset (Delete receive buffer)
- 13.3.5.9 Signal_Get (Query RS-232 signals)
- 13.3.5.10 Signal_Set (Set RS-232 signals)
- 13.3.5.11 Get_Features
- 13.3.5.12 Set_Features
- 13.3.6 Programming the PtP communications
- 13.3.7 Example: Point-to-Point communication
- 13.4 Universal serial interface (USS) communication
- 13.5 Modbus communication
- 13.6 Legacy PtP communication (CM/CB 1241 only)
- 13.6.1 Legacy point-to-point instructions
- 13.6.1.1 PORT_CFG (Configure communication parameters dynamically)
- 13.6.1.2 SEND_CFG (Configure serial transmission parameters dynamically)
- 13.6.1.3 RCV_CFG (Configure serial receive parameters dynamically)
- 13.6.1.4 SEND_PTP (Transmit send buffer data)
- 13.6.1.5 RCV_PTP (Enable receive messages)
- 13.6.1.6 RCV_RST (Delete receive buffer)
- 13.6.1.7 SGN_GET (Query RS-232 signals)
- 13.6.1.8 SGN_SET (Set RS-232 signals)
- 13.6.1 Legacy point-to-point instructions
- 13.7 Legacy USS communication (CM/CB 1241 only)
- 13.8 Legacy Modbus TCP communication
- 13.8.1 Overview
- 13.8.2 Selecting the version of the Modbus TCP instructions
- 13.8.3 Legacy Modbus TCP instructions
- 13.8.4 Legacy Modbus TCP examples
- 13.8.4.1 Example: Legacy MB_SERVER Multiple TCP connections
- 13.8.4.2 Example: Legacy MB_CLIENT 1: Multiple requests with common TCP connection
- 13.8.4.3 Example: Legacy MB_CLIENT 2: Multiple requests with different TCP connections
- 13.8.4.4 Example: Legacy MB_CLIENT 3: Output image write request
- 13.8.4.5 Example: Legacy MB_CLIENT 4: Coordinating multiple requests
- 13.9 Legacy Modbus RTU communication (CM/CB 1241 only)
- 13.10 Industrial Remote Communication (IRC)
- 14 TeleService communication (SMTP email)
- 15 Online and diagnostic tools
- 15.1 Status LEDs
- 15.2 Going online and connecting to a CPU
- 15.3 Assigning a name to a PROFINET IO device online
- 15.4 Setting the IP address and time of day
- 15.5 Resetting to factory settings
- 15.6 Updating firmware
- 15.7 Formatting a SIMATIC memory card from STEP 7
- 15.8 CPU operator panel for the online CPU
- 15.9 Monitoring the cycle time and memory usage
- 15.10 Displaying diagnostic events in the CPU
- 15.11 Comparing offline and online CPUs
- 15.12 Performing an online/offline topology comparison
- 15.13 Monitoring and modifying values in the CPU
- 15.14 Downloading in RUN mode
- 15.14.1 Prerequisites for "Download in RUN mode"
- 15.14.2 Changing your program in RUN mode
- 15.14.3 Downloading selected blocks
- 15.14.4 Downloading a single selected block with a compile error in another block
- 15.14.5 Modifying and downloading existing blocks in RUN mode
- 15.14.6 System reaction if the download process fails
- 15.14.7 Considerations when downloading in RUN mode
- 15.15 Tracing and recording CPU data on trigger conditions
- 15.16 Determining the type of wire break condition from an SM 1231 module
- 15.17 Backing up and restoring a CPU
- A Technical specifications
- A.1 Siemens Online Support website
- A.2 General technical specifications
- A.3 PROFINET interface X1 port pinouts
- A.4 CPU 1211C
- A.5 CPU 1212C
- A.6 CPU 1214C
- A.7 CPU 1215C
- A.8 CPU 1217C
- A.8.1 General specifications and features
- A.8.2 Timers, counters and code blocks supported by CPU 1217C
- A.8.3 Digital inputs and outputs
- A.8.4 Analog inputs and outputs
- A.8.5 CPU 1217C wiring diagrams
- A.8.6 CPU 1217C Differential Input (DI) detail and application example
- A.8.7 CPU 1217C Differential Output (DQ) detail and application example
- A.9 Digital signal modules (SMs)
- A.10 Analog signal modules (SMs)
- A.10.1 SM 1231 analog input module specifications
- A.10.2 SM 1232 analog output module specifications
- A.10.3 SM 1234 analog input/output module specifications
- A.10.4 Step response of the analog inputs
- A.10.5 Sample time and update times for the analog inputs
- A.10.6 Measurement ranges of the analog inputs for voltage and current (SB and SM)
- A.10.7 Measurement ranges of the analog outputs for voltage and current (SB and SM)
- A.11 Thermocouple and RTD signal modules (SMs)
- A.12 Technology modules
- A.13 Digital signal boards (SBs)
- A.14 Analog signal boards (SBs)
- A.15 BB 1297 Battery board
- A.16 Communication interfaces
- A.17 TeleService (TS Adapter and TS Adapter modular)
- A.18 SIMATIC memory cards
- A.19 Input simulators
- A.20 S7-1200 Potentiometer module
- A.21 I/O expansion cable
- A.22 Companion products
- B Calculating a power budget
- C Ordering Information
- D Device exchange and spare parts compatibility
- Index