Welcome to the Industrial Automation website!

NameDescriptionContent
HONG  KANG
E-mail  
Password  
  
Forgot password?
  Register
当前位置:

Siemens S5-90U/95U Fault Diagnosis and Advanced Programming

来源: | 作者:FAN | 发布时间 :2026-04-23 | 13 次浏览: | 🔊 Click to read aloud ❚❚ | Share:

Fault diagnosis and advanced programming practice of Siemens S5-90U/95U programmable controller

In the field of industrial automation, Siemens SIMATIC S5 series controllers have created an era with their durability and reliability. Although the S7 series has become mainstream nowadays, classic controllers such as S5-90U and S5-95U are still operating stably on numerous key production lines around the world. For engineers who maintain these 'old horses', mastering a system and efficient diagnostic and debugging methods is far more urgent than learning a new PLC. This article will delve into the internal world of S5-90U/95U, providing you with a comprehensive technical guide from hardware structure, diagnostic tools to advanced programming techniques.


1. System Overview: Performance Boundaries of Compact Controllers

S5-90U and S5-95U are compact controllers designed by Siemens to meet automation tasks in the mid to low performance range. Their biggest feature is modularity, scalability, and powerful functionality.

S5-90U: As an economical entry-level option, it comes with 10 digital inputs and 6 relay outputs, and can be expanded with up to 3 S5-100U bus lines (6 slots) through the IM 90 interface module. Its user program memory is 4KB, suitable for replacing traditional contactor and relay control systems.

S5-95U: With more powerful performance, it comes with 16 digital inputs, 16 digital outputs, 8 analog inputs (0-10V, 10 bit resolution), 1 analog output, 4 interrupt inputs, and 2 high-speed counter inputs (up to 5kHz). The user program memory is up to 16KB and supports up to 16 bus units (32 slots), which can handle more complex closed-loop control and communication tasks.

Understanding these hardware boundaries is the first step towards efficient diagnosis. For example, when the program cannot be loaded, the first thing to check is whether it is S5-90U but the program size exceeds 4KB, or if the compiled program has caused internal RAM overflow (the manual states that even if the STEP 5 program is less than 16KB, it may overflow after compilation, causing the STOP LED to flash).

2. Core diagnostic tools: Deep application of ISTACK and BSTACK

When a PLC unexpectedly enters STOP mode, the first reaction of most engineers is to reset or re download the program, but this often overlooks the root cause. The S5-90U/95U provides powerful internal analysis tools - Interrupt Stack (ISTACK) and Block Stack (BSTACK), which are the "black boxes" for troubleshooting.

ISTACK: The 'first witness' of the cause of the malfunction

ISTACK is a memory area inside the CPU used to store the cause of faults. When the PLC switches from RUN to STOP or fails to start, critical information will be recorded in ISTACK. By calling the ISTACK function through the programmer (PG), you can obtain the following decisive clues:

Control bit display: For example, ZYK bit indicates scan cycle timeout, NAU indicates central controller power failure, PEU indicates external I/O bus not ready, STUEB indicates block stack overflow (nested depth exceeding 16 layers).

Error ID (Cause of Interr.): This is the key to locating the issue.

NNN: The program cannot be interpreted. This is usually a 'compiler error', meaning that the STEP 5 statement you wrote has a syntax error or logic that cannot be converted by the compiler. At this point, REL-SAC (relative to STEP address counter) in ISTACK will point to the address after the error statement. You need to convert this hexadecimal address to decimal and then find the specific location in the corresponding block (such as PB7).

TRAF: Data transmission error. Common reasons include: the accessed data block (DB) is not opened or does not exist; The data word number specified in the program statement exceeds the length of the DB. For example, a DB defined as 10 words, but the program attempts to write the 11th word.

SUF: Replacement Error (S5-95U only). This usually occurs when the function block (FB) passes the wrong actual parameters when calling, or when an integrated FB is called in the interrupt program, and the FB is being processed by another program.

ZYK: Scan cycle timeout. The program execution time has exceeded the set monitoring time (default 300ms). Possible reasons may include dead loops in the program, frequent interrupts, or prolonged monitoring of STATUS through the programmer.

BSTACK: "Navigator" for program execution path

BSTACK records jump information during program execution, including which DB was open before the jump, the starting address of the called block, and so on. In structured programming, when errors occur within deeply nested blocks, BSTACK can clearly reveal how the program progressed step by step to the point of error.

For example, the system reports a TRAF error, indicating a DB access error. By examining BSTACK, you may find that the program execution path is: OB1->PB2->FB4, and when calling FB4, data block DB5 is open. This way, you can quickly lock in the statements accessing DB5 in FB4 instead of aimlessly searching throughout the entire program.


3. System Parameterization: The Clever Use and Pitfalls of DB1

Many advanced features of S5-90U/95U are parameterized through the integrated data block DB1. DB1 is interpreted and executed when the PLC switches from STOP to RUN. The default DB1 is integrated into the CPU, and users can modify and download it as needed.

DB1 consists of multiple parameter blocks, each starting with a block ID; End. Common parameter blocks include:

OBI: Parameterized interrupt input. For example, on S5-95U, IP 0 indicates configuring input I34.0 as a rising edge interrupt; IN 1 indicates that I34.1 is configured as a falling edge interrupt; IPN 2 indicates that I34.2 is configured to trigger interrupts for both rising and falling edges.

OBC: Parameterized onboard counter. For example, CAP 500 indicates that counter A is configured for rising edge counting, with a comparison value of 500. CCN 90000 represents cascading two counters into a 32-bit counter, with a falling edge count and a comparison value of 90000.

SDP: System parameter settings (S5-95U only). NT 128 sets the number of internal timers processed by the system (default is 128, if the program only uses 20, changing to 20 can shorten the scanning cycle). When PBUS N is set to start the PLC, it does not check the external I/O bus. If it is changed to PBUS J, the PLC can only enter RUN mode when the external I/O bus is ready.

CLP: Real time clock parameters (S5-95U only). STW MW10 specifies the status word at MW10, and CLK DB5 DW0 specifies the clock data area at the beginning DW0 of DB5.

Parameter error handling: If there are syntax errors or parameter overruns in DB1, the PLC will remain in the STOP state when switching from STOP to RUN. At this point, you can obtain detailed error codes by adding ERT: Error Return Parameter Block (such as ERR MW2) to DB1. The error code will be written into the continuous word starting from MW2, with the high byte indicating the error type (such as "range violation", "syntax error") and the low byte indicating the erroneous parameter block (such as OBC: corresponding to code 03). This can greatly improve the debugging efficiency of parameter configuration.

4. Advanced programming skills and performance optimization

In addition to basic bit logic, the S5-95U also offers a range of advanced operations that can be mastered to write more efficient and compact programs.

Bit testing operation (TB, TBN): allows you to directly test a bit of a word and set RLO based on the state of that bit. This is much more efficient in processing state information in words than loading words first and then using the 'and' operation for masking. For example, TB D 12.8 directly tests the 8th bit of data word DW12.

DO operation: This is a powerful tool for implementing indirect addressing. The DO FWx or DO DWx statement itself does not perform any operations, but it tells the CPU that the operand address of the next statement is dynamically determined by the content of the specified flag or data word. For example, first set the value of FW10 to KH 0108 (high byte=bits of the address, low byte=bytes of the address), and then execute:

step5

DO FW10

A F 0.0

This is equivalent to AF 8.1. By cyclically changing the value of FW10, a few lines of code can be used to achieve functions that originally required a lot of repetitive code, such as batch initializing data areas.

Scanning cycle and response time calculation: The manual provides precise formulas for calculating scanning cycle and response time. This is crucial for time sensitive applications. For example, the scanning time of S5-95U=process image transfer time (depending on the number and type of I/O modules)+operating system runtime (fixed at 500 µ s)+program execution time+timer update time. In the worst-case scenario, the response time needs to consider that the input signal changes only after PII reading, requiring three times the process image transfer time, three times the operating system runtime, and two times the program execution time.

Fine management of interrupt priority: S5-95U supports multiple interrupt sources (4 external interrupts, 2 counter comparison interrupts). When interrupts occur simultaneously, the execution order is: counter B>interrupt input>counter A. In addition, up to 8 interrupt events can be temporarily stored in the queue. By using IA (disable interrupt) and RA (enable interrupt) operations, you can protect critical segments of the program from interruption and ensure data consistency. For example, using IA and RA before and after performing TNB (block transfer) operations can prevent interruptions during the transfer process, thereby ensuring the integrity of the data source and target areas.


5. Analog quantity and communication processing

Analog processing: The onboard analog input of S5-95U is 0-10V with a resolution of 10 bits. The manual provides two standard functional blocks, FB250 and FB251, to simplify the reading and scaling of analog signals. FB250 can linearly map raw digital quantities (0-1024) to user-defined engineering value ranges (e.g. 0-1000L/min). FB251 performs a reverse operation to convert engineering values into the digital format required by the analog output module.

SINEC L1 communication: As a slave station on the SINEC L1 network, S5-90U/95U is configured through the SL1: parameter block in DB1. This includes defining the location of the slave station address (SLN), sending mailbox (SF), and receiving mailbox (EF). The handshake of communication is carried out by coordinating bytes KBS (sending) and KBE (receiving). The program needs to poll the 'receive complete' bit of KBE to determine if new data has arrived, and then read the data from EF; When sending data, fill in SF and set the "Send Request" position in KBS.

  • Mitsubishi FX5-SF-MU4T5 Safety Module
  • Omron C1000H-CPU01-EV1 CPU Unit
  • Yaskawa SGDV-2R8A11A Servo Drive 400V
  • Omron 3G3HV-A4055-CUE VFD 5.5kW
  • Omron F160-C15E Vision Sensor Controller
  • Schneider ELAU PMC-2 Servo Drive 2.2kW
  • Omron CQM1-TC102 Temperature Control Unit
  • Omron CS1G-CPU65-EV1 CPU Unit CS1 Series
  • Omron CJ1H-CPU66H CPU Unit High Performance
  • Saia PCD4.H320 Analog Input Module
  • Omron NX-EIC202 EtherNet/IP Coupler Unit
  • Omron R88M-H75030 Servo Motor OMNUC Series 750W
  • Omron F500-VS Vision Sensor F500 Series Machine Vision
  • Omron R88S-H306G Power Unit for Servo Motor OMNUC Series
  • Banner Q45ULIU64ACR Ultrasonic Sensor Q45U Series Proximity Mode
  • Allen Bradley 1756-IRT8I RTD Thermocouple Input Module ControlLogix
  • Siemens Sinumerik 840D SL NCU 720.3B with PLC 317-3 PN DP
  • Kollmorgen SERVOSTAR J-06 Servo Drive Danaher Motion
  • Omron NX-ECC202 EtherCAT Coupler Unit NX Series
  • OMRON CS1W-SCU31-V1 Serial Unit
  • Beckhoff CX5020-0110 Embedded PC PLC
  • Omron CJ1M-CPU13-ETN CPU Unit Ethernet
  • Omron C60H-C1DR-DE-V1 PLC Controller
  • Omron CJ1W-PTS51 Thermocouple Input Unit
  • Omron CJ1W-DA021 Analog Output Module 2 Ch
  • Omron CS1W-MAD44 Analog I/O Module
  • Omron C500-PRW05-V1 PROM Writer
  • Omron CJ1G-CPU45H Loop Control CPU Unit
  • ABB PSTX570-600-70 Soft Starter 570A
  • PTF Electronic SCR W1Z Power Controller 1150mm
  • Omron C500-CT012 High Speed Counter Unit
  • NBC Electronics MOD.ES 3 Ton Load Cell
  • DeltaOmega XML2 0060 45 4 S A Servo
  • REM EC235 Counter Module
  • Motor Power SKA DDR 148.30.8.19 Torque Motor
  • Delta Tau 4-Axis Interface PLC
  • Yokogawa PC10020 AA00 L1Z002 Position Controller
  • OMRON C60H-C5DR-DE-V1 PLC
  • Burgess PCD4.H320 Motion Control PLC
  • Parker SMB14245155242ID644 Servo Motor
  • Baumuller PLC-01 BMC-M-PLC-01-11-02 PLC
  • Omron CPM2B-32C2D1T-D12 PLC Compact Controller
  • Ansaldo SVTS076FBNF Industrial Drive 76KVA
  • Omron C500-PRW06 PROM Writer Programmer
  • Mitsubishi FX0N-24MR-ES PLC Compact Controller
  • Omron R88D-HS22 Servo Drive OMNUC H Series
  • Omron CJ1M-CPU11-ETN CPU Unit PLC
  • Bosch Rexroth 109129B051 HCP08 PLC Board
  • Landis Gyr PCD4.M125 PLC CPU Module
  • Nidec SP4202 Variable Frequency Drive 22kW
  • Puls QS40.241 Power Supply 40A 24VDC
  • Eaton XV-102-B6-35MQR-10-PLC Touch Panel
  • Omron ZFX-C15 Vision Sensor Controller
  • Kyosan PHS-4C-AN1 Servo Control Power Supply
  • Omron NX-ECC201 EtherCAT Coupler Unit
  • Omron C20-CPU83E CPU Unit 3G2C7-CPU83E
  • Omron FZ-SQ100F Vision Sensor Camera
  • Siemens 6SL3352-6BE00-0AA1 Power Supply Board
  • ABB AO815 3BSE052605R1 Analog Output Module
  • Siemens C98043-A1200-L Control Card
  • Allen-Bradley 1336-BDB-SP72D Gate Drive PCB
  • ST2000 34 Algorab Graphic PLC Terminal
  • OMRON C200HW-PRM21 Profibus DP Module
  • Siemens 2020964-001 DPM Base Board
  • OMRON CJ1W-V600C11 ID Controller Unit
  • Telemecanique TSX7 Series PLC Module
  • Okuma 1911-2861-0236049 Graphic Card Module
  • Parker HPD2S2N Servo Driver
  • OMRON FQ2-D31 Touch Finder Vision Sensor
  • OMRON C500-LK007 Host Link Unit
  • OMRON CJ1W-SCU32 Serial Communication Unit
  • Edwards C41901000 24V Solenoid Valve
  • ABB Procontic CS31 07 KR 91 PLC Controller
  • Siemens 7KG7750-0AA01-0AA0 Power Meter
  • Demag NC4K Compact PLC Controller
  • ABB SAPC 35 PAC/PP8482 Pulse Amplifier Board
  • Yaskawa SGMGH-09DCA6H-OY Servo Motor 850W
  • Saia PCD4.M445 Processor Module PLC
  • Yaskawa SGDH-04AE Servo Drive 400W 200V
  • Omron H8PR-24 Cam Positioner
  • Omron F150-C10E-2 Vision Sensor
  • OMRON 3G3MX2-A4015-E Inverter
  • Pro face GP577R-TC11 HMI
  • Pro face GP477R-EG11 HMI
  • ABB Pluto S20 V2 CFS Safety PLC
  • Siemens A5E00825002 IGD Board
  • Sakae SH40JHK-ZU-3S1R3G-10621B Joystick
  • Siemens 3RK1105-1AE04-0CA0 Safety Relay
  • Allen Bradley 1775-MEF Memory Module
  • OMRON CS1H-CPU63-H PLC CPU Unit
  • OMRON F150-C15E-3 Vision Sensor
  • Omron CJ1W-DA041 Analog Output Module
  • Saia PCD4.M440 PLC Module PCD4.M44
  • Steiel S595 PH Industrial Controller
  • VT650 PC Windows 2000 HMI Panel PC
  • Omron C200H-AD003 Analog Input Module
  • Omron CJ1W-V600C11 ID Sensor Unit
  • Coherent 250W Laser Adjustable Lens Head
  • Omron CQM1-AD042 Analog Input Module
  • SICK XKS09-HTBM-S02 Wire Draw Absolute Encoder
  • Omron 3F88L-P3A-E Cam Positioner PLC
  • OMRON R88M-H1K130 Servo Motor
  • SIEMENS 6ES7 331-7KB01-0AB0 SM331 Analog Input Module
  • LANDIS PCD4.M110 Processor Module
  • OMRON NT631C-ST151-EV2 HMI Touch Screen
  • TE.CO Grey Cable TFX 4G 1.5 ST 564mt UNEL Grey
  • OMRON R88D-H310G Servo Drive
  • ABB SACE SM3 630 630A PLC Switch
  • OMRON DRT2-AD04H Analog Input Terminal
  • OMRON FZ-SQ100F Vision Sensor
  • OMRON CP1E-NA20DT1-D CPU Unit PLC
  • Omron ZFX-C25-CD Vision Controller PNP 2-Camera
  • Omron ZFV-NX1 Smart Vision Sensor CCD Camera
  • GE Multilin F60 Feeder Management Relay UR Series
  • Omron C500-NC222-E Positioning Module 2 Axis
  • Omron C200PC-ISA01-E SYSMAC Board PLC ISA
  • Saia PCD2.W610 Analog Output Module 4 Channels
  • Kollmorgen SERVOSTAR 606 N1 Servo Drive Danaher Motion
  • Biviator RW 3089 CPU Module Industrial Controller
  • Santerno Sinus IFDEV 400T-7.5 AC Drive 8.4kW 380V
  • Omron C60H-C1DR-DE-V1 Programmable Logic Controller
  • SOCOMEC SIRCO 0T510058 1250A Switch
  • REER ARGOLUX ASR 1218 ASE 1218 Safety PLC
  • GE TLINE TCP11G-04-0345 Operator Panel
  • OMRON CJ1G-CPU43H V2.0 PLC CPU
  • OMRON FQ-MS125-ECT Vision System
  • OMRON FND-X06H Position Driver
  • OMRON CPM2C-S110C-DRT Compact PLC