MrPLC Member
  • Content count

  • Joined

  • Last visited

Community Reputation

3 Neutral

About sigmadelta

  • Rank

Contact Methods

  • Website URL

Profile Information

  • Gender Male
  • Location From Canada, living in Bulgaria
  • Country Canada
  • Interests

Recent Profile Visitors

270 profile views
  1. simatic-op is on a write-protected medium

    Another thing that it might be, is the files are read-only.  Find the Step 7 project folder which is in C:\Program Files\Siemens\Step7\s7proj\ and right-click on it an click Properties... uncheck the Read-Only checkbox, and if it asks, apply the changes to all files and folders.
  2. Siemens TP1200 error

    Try right-clicking your HMI in the TIA Portal Project then Compile -> Software (rebuild all).  Save the project, then download.
  3. S7 300 BF blinking and SF

    Open STEP 7 and go online with the hardware configuration to see which Profibus or Profinet nodes are not communicating.  If you don't have STEP 7 software, you have to look at all your Profibus or Profinet nodes to see if they have an error indication.  BF means "bus fault", which means one or more nodes on network 2 and network 3 are not communicating.  Could be a cabling problem, Ethernet switch problem, or device problem.
  4. Siemens S5 communication error

    Maybe this post might help:
  5. RS232 converter to RS485

    It should work, as long as you wire the connections correctly.
  6. Siemens S5 communication error

    How are you trying to connect, with the RS-232/TTY cable to the port on the S5 CPU?  Are you using STEP 5 software? What communication settings are you using?
  7. Sample blocks for S7 1200 plc's

    You should be able to open your TIA Portal V12 project in V14.  Try going to Project -> Open to open your .ap12 project file, or if you have an archive, go to the Project -> Retrieve your .zap12 file.    
  8. Sample blocks for S7 1200 plc's

    You can find the trial version of STEP 7 you need to convert your blocks here:
  9. S7400 On-Board IO to S7-1500 CPU

    The only way I know if is to make the S7-400 CPU a Profibus Slave to the S7-1500.  The S7-400 would have to have a small program to transfer the I/O signals from the S7-1500 to the S7-400 I/O.  
  10. S5 plc help to load from EPROM

    1) Power on the PLC 2) Switch the selector switch to STOP 3) Remove the battery 4) Power off the PLC for at least 30 seconds 5) Make sure the EPROM is inserted into the PLC 6) Power on the PLC 7) Insert a new battery
  11. S7-1200 Device to AC500 Controller Profinet Network

    I believe the I-Device (Profinet device) functionality of the S7-1200 is only available with firmware version V4.0 and higher. You would need to STOP the CPU, because the S7-1200 requires a hardware configuration change whether you use it as an IO-Controller, or IO-Device. Go into the S7-1200 CPU Ethernet port properties and select the checkbox "IO Device", and add input/output transfer areas as needed. Then right-click on your PLC and compile  hardware and software (only changes). You'll need to download to the CPU, which will stop it - there's no way around this. Then you'll see below the "Transfer Areas" a button to export the GSDML file. Import this file into your ABB Profinet configuration. Another way is to buy a PN/PN Coupler, which allows 2 masters to exchange data.  However, both methods will require the S7-1200 PLC to stop.  
  12. Need a help for FC Step 7 s7 300 LADDER logic

    OK, this code is written in STL language.  Line by line: L #INPUT - load the value of the parameter "INPUT" into ACCU1 (accumulator 1) ITD - convert the value in ACCU1 from INT (integer) to DINT (double integer), and store in ACCU1 L L#-100 - load the value of -100 into ACCU1, the previous value in ACCU1 moves to ACCU2 (in this case #INPUT which was converted to a DINT) >D - check if the value in ACCU2 is greater than ACCU1 (in this case #INPUT > -100) JNB n01 - jump to label n01 if the above logic is false (#INPUT is not >  -100) L #INPUT - load the value of the parameter "INPUT" into ACCU1 ITD - convert the value in ACCU1 from INT (integer) to DINT (double integer), and store in ACCU1 DTR - convert the value in ACCU1 from DINT (integer) to REAL (floating point), and store in ACCU1 L #MAX - load the value of #MAX into ACCU1, the previous value in ACCU1 moves to ACCU2 (in this case #INPUT which was converted to a REAL) *R - multiply ACCU2 by ACCU1 (#INPUT * #MAX) store the result in ACCU1 L 2.7648e+004 - load the value of 27648 into ACCU1 - this happens to be the maximum integer for S7 analog input values /R - divide ACCU2 by ACCU1 (#INPUT * MAX / 27648) store the result in ACCU1 T #output - transfer ACCU1 to the parameter #output JU n02 - jump unconditionially to n02 n01: L 0 - label is n01, which is used for the jump statements, load the value 0 into ACCU1 T #output - transfer ACCU1 to the parameter #output = #alarm - like a coil in LAD language the value of #alarm is based on previous logic (in this case the >D instruction - in this case #INPUT > -100) n02: NOP 0 - label is n02, which is used for the jump statements, NOP 0 is a no operation instruction (does nothing) I think the "= #alarm" instruction is wrong.  I would use ""SET" on one line, then S #alarm" here, and use the lines "SET" then "R #alarm" just after the "JNB n01" line. Basically it is checking if the input is greater than 100, if it is not, it outputs a value of 0 and turns on the alarm bit.  If it is greater than -100, then output the result of INPUT * MAX / 27648.
  13. IM 153-1 Bus Fault

    Here is a link to general information about the distances and baud rates of Profibus networks: Profibus – Distance & Baud Rate
  14. Converting ASCII to Real to DINT

    First of all, that website is not converting the ASCII to decimal the way you think.  It is simply converting each character to an INT and cramming it together. The result of "Hello" is like this: H = 0x48 = 072 DEC e = 0x65 = 101 DEC l = 0x6c = 108 DEC l = 0x6c = 108 DEC o = 0x6f = 111 DEC So the value 072101108108111 (072 101 108 108 111) is just the decimal values of each character side by side with no spaces.  The whole value of "Hello" would really be 310,939,249,775‬, which is too big for a DINT (DINT has a maximum value of  2,147,483,648).  Open Windows Calculator, switch to Programmer, switch to HEX, and type in 48656C6C6F, and you'll see the decimal value    
  15. Connecting a printer to a TOP270 HMI

    See here: