top of page

WELCOME
Search


SCL editor update
The text editor for SCL has been problematic since the very beginning. Major pain points are: The code completion window pops up inappropriately. There is a dual selection for the candidates which is frustrating. Code validation is limited due to the inability of the control to underline random characters. Highlighting is there but problematic for us to support. Inserting/Removing text is sometimes awkward. New lines are inserted for no reason. Special characters (Alt Gr) can
Ivaylo Fiziev
21 hours ago2 min read
Â
Â
Â


Modifying the SCL search path
By design SCL scripts, referenced by the main FB are loaded from the SCL vault. This is a folder underneath the Process Simulate installation folder (Scripting\SCL\Vault). For us the vault allows distributing out of the box scripts. Users are also expected to update the vault with their own scripts before using them in the SCL editor. This is done via the 'Import SCL block' command or by simply copying the scripts there. Q: What is the problem with this approach? A: Depend
Ivaylo Fiziev
Nov 272 min read
Â
Â
Â


Practical use case: Counting operation runs
This post is inspired by a recent question in the Siemens community forum ( https://community.sw.siemens.com/s/question/0D5Vb00000rlev1KAA/help-with-counter-triggered-by-operation-end-signal-in-process-simulate ). It seems generic enough to be mentioned here. It is actually pretty simple but can be really useful in many situations. So how do you count how many times an operation has been executed? You just increment a counter on each pulse of the operation's end signal. A
Ivaylo Fiziev
Nov 211 min read
Â
Â
Â


Practical use case: Volume sensor (PoC)
This should be a device that detects a substance within a specified volume of space. Usually used in security systems this kind of sensor is also known as a volumetric motion detector. It detects changes in the volume it covers by filling it with energy patterns and recognizing disturbances in the patterns caused by any moving object. In our case it works by simply looking for interference between the geometry of volume itself and the geometry of any part appearance. As you
Ivaylo Fiziev
Nov 71 min read
Â
Â
Â


Visualizing the RFID sensor range
Sensors implemented with SCL are nice to have but we currently cannot show any graphical indication of their detection range or field of view. This would help us understand better how they work. The LiDAR sensor does it already but the logic there is not reusable. What if we could manipulate some primitive geometrical shapes straight out from the SCL code? Imagine that we can render a sphere indicating the RFID sensor range for example. Also we can render a cone indicating t
Ivaylo Fiziev
Nov 42 min read
Â
Â
Â


How to use the SCL debugger
I've never done a post related to how the SCL debugger is meant to be used. Here it is - following some recent questions from colleagues. You can imagine the SCL debugger as a simplified version of the debugger you have in Visual Studio. It only covers the basics. As you might happen to know Visual Studio works in its own process and attaches to the process running your code when you debug. Usually you pick the process from a list and then select the debug engine (native, m
Ivaylo Fiziev
Oct 266 min read
Â
Â
Â


Goto statement
The unconditional jump instruction is here. It is strange to announce such a trivial thing but it was a real challenge to implement. What makes it hard? It is intended to work on a flattened program tree. Flattening the program tree is the actual problem. In version 2512 we have it working with some limitations. But lets start with a short introduction. 'Goto' is a statement that is often avoided since it tends to make the code unreadable/unmaintainable if overused. Typ
Ivaylo Fiziev
Oct 222 min read
Â
Â
Â


Visualizing study logic
When we are faced with complex data we always feel lost, aren't we? We don't know anything about the essence of it but still we need to...
Ivaylo Fiziev
Oct 82 min read
Â
Â
Â


Practical use case: RFID sensor (PoC)
From the theory: Radio Frequency Identification (RFID) is a wireless technology that uses radio waves to automatically identify and track...
Ivaylo Fiziev
Sep 123 min read
Â
Â
Â


Declaring arrays in the SCL editor
For quite long time we were missing the ability to declare arrays in the SCL editor. Although arrays are not widely used in Process...
Ivaylo Fiziev
Sep 52 min read
Â
Â
Â


Using external connections from a SCL script
There is something interesting that I have not mentioned before. It was introduced along with the Time critical scripts but can be used...
Ivaylo Fiziev
Sep 33 min read
Â
Â
Â


Working with VARIANTs
VARIANT is yet another data type that you can use in your functions / function blocks. Usually it comes in handy when defining the...
Ivaylo Fiziev
Aug 263 min read
Â
Â
Â


String handling
When working with strings, often there is a need of doing string processing. e.g. searching, replacing, extracting substrings. SCL offers...
Ivaylo Fiziev
Aug 132 min read
Â
Â
Â


Escape sequences
These are special symbols, often having specific syntax, used in programming and text formats to represent characters that are difficult...
Ivaylo Fiziev
Aug 12 min read
Â
Â
Â


Debugging in Hex
Some time ago a customer asked if we can display numbers in hexadecimal format. It was a question related to the simulation panel in...
Ivaylo Fiziev
Jun 301 min read
Â
Â
Â


Attaching/Detaching appearances based on state
Recently we are seeing issues with the classic material flow. In particular the attach event is not working although it is properly...
Ivaylo Fiziev
Jun 133 min read
Â
Â
Â


Upgrade ANTLR to version 4.13.2
The latest and greatest ANTLR ( https://www.antlr.org/download.html ) version is here. Hurray! As you probably already know this is the...
Ivaylo Fiziev
Jun 32 min read
Â
Â
Â


Practical use case: Sorting arrays
How do you arrange the elements of an array in ascending/descending order? This trivial problem has an even more trivial solution - you...
Ivaylo Fiziev
May 302 min read
Â
Â
Â


Typed literals
What are literals? These are the constant values that we use in the code. Examples are: numbers ( 1 , 2 , 10#1 , 16#FF , 8#77 , 3.14 ,...
Ivaylo Fiziev
May 92 min read
Â
Â
Â


Waiting for a signal (the SCL way)
If your experience is mainly with OLP you are probably quite used to waiting for signals to change in your code. It is a natural thing to...
Ivaylo Fiziev
May 53 min read
Â
Â
Â
CONTACT

bottom of page
