Search the Community

Showing results for tags 'fonction block'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 31 results

  1. Hi there I'm an embedded software engineer mostly programming C/C++ in Linux and have very little knowledge of the PLC environment.  Recently my attention was diverted towards integrating C/C++ (Linux software) into PLC and then presumably as a function block which is supported with something called PLCOpen. Is that right ? How is multithread support in PLC in general ? and/or with the these function blocks or what ever might become instead when integrating/porting C/C++ code into PLC.  The current situation is purely embedded Linux environment with open-source 3rd party userland that our code relies heavily on. How feasible is to port such environment over to PLC (given that the system supports it) ? I've been looking into B&R Automation Studio 4 and having a hard time to establish concrete feeling on how difficult/easy it is to port the code.  Hope anyone can give me a slight insight into this.  Kind regards Einar
  2. Block Set or Block Move

    Hi:     in Omron there is a command BSET which can be used to set value from DXXXX to DXXXXn. Example BSET #0 D2000 D30000 What is the similar command in Mitsubishi FX3U structure Ladder?   thks
  3. How to take single bit form input WORD by Structured Text? Can i write somethink like: inVar[i]  
  4. Siemens S7-1500 and SICK

    Hello all, Let me start by saying that although I have been working with PLCs for 20+ years I am very (as in brand) new to the Siemens world (my wheelhouse is AB). That being said I have a Siemens S7-1500 (1511 specifically) CPU with a couple of SICK multi-turn Profi-Net encoders (AFM60A-S4NB018x12) that I need to talk to. - I am using TIA v13 with all of the updates. - I have the GSD file from SICK for the encoder. - I have no clue what I am doing - I can see the encoder values update in the watch table as I move the encoder. All fine and dandy so far... Here's where the white flag is going up.... - I am of the belief that there are existing function blocks out there 'somewhere' that can read and write to the base parameters. I have contacted our local rep who deferred me to SICK. I have emailed and left messages with them and have not gotten a return anything thus far. Here's our application... We are attaching each encoder to its own rotary gear mechanism. The rotary will need to turn in the CW direction approximately 400 degrees then return to its start point by rotating in the CCW direction by the same amount. If/When production/maintenance needs to 'rehome' the assembly, the expectation is that they 'pin' the drive in a known location then a bit would be set within the CPU that would assign a specific value to the encoder's actual position. In the SICK manual (8015078/YIX6/2015-01-16) on page 31 (section 3.6.3) there is reference to Preset control. This is what I believe we need to perform the aforementioned function. Does anyone have any examples that they could share on how to read/write to these encoders by use of a Function Block or other? Relatively desperate for help at this point. Can post test code if need be. Thank you in advance, TLAF
  5. Let me set the scene. I am inside my function block. I would like move an internal integer into an integer that belongs to my program symbol table. I would like to do it inside the function block, so that the function block is self contained. i.e. it does not need any extra inputs/outputs in the function block call. Is this possible? If I was writing this in Object Oriented code, I would just write this within my method: myGlobalVariable = myLocalInteger; and that would be that...
  6. Hi all, While upgrading HMI from PanelBuilder32 to FactoryTalk View I encounter a problem using I/O to interface with a PanelView Plus. The communication is defined in RSLogix 5 program as Rack 3 group 2 Size 3/4, range 32-37. PLC communication with the panel is not changed, but buttons in old PanelView using I:34 and I:35 work, in the new PV+ they don't, all bits remain zero. Block transfers Read and Write are all sending data to rack 3 group 2 module 0. While testing I noticed O:32 is used as status bits by the Block Transfers - maybe inputs I:34 and I:35 are also used for somethings similar by a new PanelView Plus? Thanks!