Need help on complex math calculation in labview
I need some help by being pointed in the right direction. I have a piece of old lab equipment that I will be connecting to labview. In order to send commands to the hardware, I have to calculate a checksum. The checksum algorythm requires me to take alphanumeric characters, convert them to binary, perform binary addition, perform an Xor, mask certain digits, and convert the resultant binary string back to an ascii character. Does labview have the capabilities to do this on it's own, or should I look at connecting to something like an external dll?
I have Visual Studio 2008 and some previous VB experience, so I think I could write a program that would do the calculation, but don't really know exactly what type of project (dll, etc.) is best. Are there any specific settings for the dll so that labview can use it. I see an example for C++ for Visual Studio 2005, but that is as close as I can get. I only know VB, not C# or C++
Can someone please point me in the right direction?
Tron
Solved!
Go to Solution.
You basically need some logical shifts and ANDs.
Check version 2.
/Y
LabVIEW 8.2 - 2014
"Only dead fish swim downstream" - "My life for Kudos!" - "Dumb people repeat old mistakes - smart ones create new ones."
G# - Free award winning reference based OOP for LV
Attachments:
Checksum ver 2.vi 10 KB
Similar Messages
-
Need Help with complex query and computing values
I have an issue trying to combine data from several tables. I need help trying to compute the "Total Hours", "Max Pressure" ,"Average Pressure" while displaying the "Manufacturer",
"Part Type" , "Serial Number", "District", "Status","Truck Type",and "truck number" for a certain Part on all Trucks. I need to be able check and see if the serial number was on
a particular job and calculate the hours of that serial number if it was on that job and the jobdate falls between the install date and removal date. Ive tried but keep getting either
repeating rows, total hrs of the truck instead of the serial number. Ive considered doing a pivot to display it but have been having trouble putting it together.
table 1
(*records of parts*)
Contains serial number,truck number, part type, part number, install date, removal date, status
table 2
(*records of Jobs*)
contains Jobnumber, JobStartdate, Max pressure, average pressure, and Totalhrs
table 3
(records related to jobs and trucks)
contains jobnumber, district , and truck numbers
Table 4
(records of manufacturers and part numbers)
contains partnumber, manufacturer name, and truck type
I would like to get it to show like below
SerialNo PrtType
MFG TruckNo
TrkType TtlHrs
MaxPr AvgPr
Status
Dst
AB345 1200series
NGK 2G34
Boss X 400 10,000
9500 NonOp
NE
Thanks in advanceHope this helps
Note: (Date of Mar 1 2014 was just extended to a further date so the system would know that its still operating when calculating current hours)
Table 1
SerialNo TruckNo InstallDate RemovalDate Status PartNo PartType
BJ1002 F917 2013-09-17 2014-03-01 Oper L871235 BJ 3000 GL
CWS1002 F104 2012-11-21 2013-03-29 NonOper L76088-450 CWS 2000
CWS1003 F104 2013-04-24 2013-08-01 NonOper L76088-450 CWS 2000
CWS1005 F187 2012-11-21 2013-04-04 NonOper L76088-450 CWS 2000
CWS1006 F187 2013-04-24 2013-06-30 NonOper L76088-450 CWS 2000
CWS1007 F187 2013-06-30 2013-03-01 Oper L76088-450 CWS 2000
CWS1009 2F60 2013-05-05 2013-03-01 Oper L76088-450 CWS 2000
CWS1011 F809 2013-05-28 2013-08-28 NonOper L76088-400 CWS 2000
CWS1013 F990 2013-06-11 2013-10-29 NonOper L76088-450 CWS 2000
CWS1015 F783 2013-06-28 2013-03-01 Oper L76088-450 CWS 2000
Table 2
JobNumber Date District PrAvTreat PrMaxTr TotalHrs
553811287 2012-01-19 Fairmount 7337 8319 1.53
652110088 2012-08-20 San Antonio 6340 7075 0.47
652110090 2012-08-21 San Antonio 6134 7131 0.62
652110091 2012-08-22 San Antonio 6180 2950 0.58
652110092 2012-08-23 San Antonio 5959 6789 0.64
652110093 2012-08-23 San Antonio 6165 7466 0.62
Table 3
TruckNo District JobNumber
1F01 Odessa 10011012329
1F01 Odessa 10011012333
1F01 Odessa 10011014831
1F01 Odessa 10011014834
1F01 Odessa 10011012332
1F01 Odessa 10011012328
1F01 Odessa 10011014829
Table 4
PartNumber Manufacturer TruckType
L322020-2 Jimmy Dean Ford T
L322738-2 Lucas Ford T
L47869-1 Jimmy Dean Ford T
L76070-650 NGK Ford T
Sam Howard -
[8i] Need help with some workday calculations
At the beginning of the month, I got help with a workday calculation in: [8i] Help with function with parameters (for workday calculation)
Now, as it turns out, I was able to locate a function in the database that does what I want, however, it is much slower to use the function than to join two copies of the CALN table (Please see referenced thread for details. I can copy them to this thread if necessary.) I need to verify that the pre-existing function has 'DETERMINISTIC' in it, as I would guess that if it doesn't, it would be much slower than it could be.
But now, I've come across a situation where I have to do multiple workday calculations in the same query--enough that I have to join 6 copies of my CALN table. I can't imagine that is at all efficient. I believe it was Frank K. who said (in the original thread) that if the function was slow, I should consider alternatives. Can anyone help me identify some of those alternatives? I'm definitely at that point now. (This query is one I'm using as the base for a report in Oracle BI, and let's just say it doesn't like my query, even though my syntax appears to be correct, and I would guess that joining 6 copies of one table is at least partly to blame for this).
Note: I'm working with Oracle 8iOK, I finally have some sample data... I tried to make it thorough. I've included data in the CALN table YTD + tomorrow, so that any workday calculations using SYSDATE will work.
CREATE TABLE caln
( clndr_dt DATE NOT NULL
, clndr_yr NUMBER
, shop_day NUMBER
, shop_dt DATE
, shop_wk NUMBER
, shop_yr NUMBER
, shop_days NUMBER
, clndr_days NUMBER
CONSTRAINT caln_pk PRIMARY KEY (clndr_dt)
INSERT INTO caln
VALUES (To_Date('12/23/2009','mm/dd/yyyy'),2009,247,To_Date('12/23/2009','mm/dd/yyyy'),51,2009,7631,10950);
INSERT INTO caln
VALUES (To_Date('01/01/2010','mm/dd/yyyy'),2010,0,To_Date('12/23/2009','mm/dd/yyyy'),52,2009,7631,10959);
INSERT INTO caln
VALUES (To_Date('01/02/2010','mm/dd/yyyy'),2010,0,To_Date('12/23/2009','mm/dd/yyyy'),52,2009,7631,10960);
INSERT INTO caln
VALUES (To_Date('01/03/2010','mm/dd/yyyy'),2010,0,To_Date('12/23/2009','mm/dd/yyyy'),1,2010,7631,10961);
INSERT INTO caln
VALUES (To_Date('01/04/2010','mm/dd/yyyy'),2010,1,To_Date('01/04/2010','mm/dd/yyyy'),1,2010,7632,10962);
INSERT INTO caln
VALUES (To_Date('01/05/2010','mm/dd/yyyy'),2010,2,To_Date('01/05/2010','mm/dd/yyyy'),1,2010,7633,10963);
INSERT INTO caln
VALUES (To_Date('01/06/2010','mm/dd/yyyy'),2010,3,To_Date('01/06/2010','mm/dd/yyyy'),1,2010,7634,10964);
INSERT INTO caln
VALUES (To_Date('01/07/2010','mm/dd/yyyy'),2010,4,To_Date('01/07/2010','mm/dd/yyyy'),1,2010,7635,10965);
INSERT INTO caln
VALUES (To_Date('01/08/2010','mm/dd/yyyy'),2010,5,To_Date('01/08/2010','mm/dd/yyyy'),1,2010,7636,10966);
INSERT INTO caln
VALUES (To_Date('01/09/2010','mm/dd/yyyy'),2010,0,To_Date('01/08/2010','mm/dd/yyyy'),1,2010,7636,10967);
INSERT INTO caln
VALUES (To_Date('01/10/2010','mm/dd/yyyy'),2010,0,To_Date('01/08/2010','mm/dd/yyyy'),2,2010,7636,10968);
INSERT INTO caln
VALUES (To_Date('01/11/2010','mm/dd/yyyy'),2010,6,To_Date('01/11/2010','mm/dd/yyyy'),2,2010,7637,10969);
INSERT INTO caln
VALUES (To_Date('01/12/2010','mm/dd/yyyy'),2010,7,To_Date('01/12/2010','mm/dd/yyyy'),2,2010,7638,10970);
INSERT INTO caln
VALUES (To_Date('01/13/2010','mm/dd/yyyy'),2010,8,To_Date('01/13/2010','mm/dd/yyyy'),2,2010,7639,10971);
INSERT INTO caln
VALUES (To_Date('01/14/2010','mm/dd/yyyy'),2010,9,To_Date('01/14/2010','mm/dd/yyyy'),2,2010,7640,10972);
INSERT INTO caln
VALUES (To_Date('01/15/2010','mm/dd/yyyy'),2010,10,To_Date('01/15/2010','mm/dd/yyyy'),2,2010,7641,10973);
INSERT INTO caln
VALUES (To_Date('01/16/2010','mm/dd/yyyy'),2010,0,To_Date('01/15/2010','mm/dd/yyyy'),2,2010,7641,10974);
INSERT INTO caln
VALUES (To_Date('01/17/2010','mm/dd/yyyy'),2010,0,To_Date('01/15/2010','mm/dd/yyyy'),3,2010,7641,10975);
INSERT INTO caln
VALUES (To_Date('01/18/2010','mm/dd/yyyy'),2010,11,To_Date('01/18/2010','mm/dd/yyyy'),3,2010,7642,10976);
INSERT INTO caln
VALUES (To_Date('01/19/2010','mm/dd/yyyy'),2010,12,To_Date('01/19/2010','mm/dd/yyyy'),3,2010,7643,10977);
INSERT INTO caln
VALUES (To_Date('01/20/2010','mm/dd/yyyy'),2010,13,To_Date('01/20/2010','mm/dd/yyyy'),3,2010,7644,10978);
INSERT INTO caln
VALUES (To_Date('01/21/2010','mm/dd/yyyy'),2010,14,To_Date('01/21/2010','mm/dd/yyyy'),3,2010,7645,10979);
INSERT INTO caln
VALUES (To_Date('01/22/2010','mm/dd/yyyy'),2010,15,To_Date('01/22/2010','mm/dd/yyyy'),3,2010,7646,10980);
INSERT INTO caln
VALUES (To_Date('01/23/2010','mm/dd/yyyy'),2010,0,To_Date('01/22/2010','mm/dd/yyyy'),3,2010,7646,10981);
INSERT INTO caln
VALUES (To_Date('01/24/2010','mm/dd/yyyy'),2010,0,To_Date('01/22/2010','mm/dd/yyyy'),4,2010,7646,10982);
INSERT INTO caln
VALUES (To_Date('01/25/2010','mm/dd/yyyy'),2010,16,To_Date('01/25/2010','mm/dd/yyyy'),4,2010,7647,10983);
INSERT INTO caln
VALUES (To_Date('01/26/2010','mm/dd/yyyy'),2010,17,To_Date('01/26/2010','mm/dd/yyyy'),4,2010,7648,10984);
INSERT INTO caln
VALUES (To_Date('01/27/2010','mm/dd/yyyy'),2010,18,To_Date('01/27/2010','mm/dd/yyyy'),4,2010,7649,10985);
INSERT INTO caln
VALUES (To_Date('01/28/2010','mm/dd/yyyy'),2010,19,To_Date('01/28/2010','mm/dd/yyyy'),4,2010,7650,10986);
INSERT INTO caln
VALUES (To_Date('01/29/2010','mm/dd/yyyy'),2010,20,To_Date('01/29/2010','mm/dd/yyyy'),4,2010,7651,10987);
INSERT INTO caln
VALUES (To_Date('01/30/2010','mm/dd/yyyy'),2010,0,To_Date('01/29/2010','mm/dd/yyyy'),4,2010,7651,10988);
INSERT INTO caln
VALUES (To_Date('01/31/2010','mm/dd/yyyy'),2010,0,To_Date('01/29/2010','mm/dd/yyyy'),5,2010,7651,10989);
INSERT INTO caln
VALUES (To_Date('02/01/2010','mm/dd/yyyy'),2010,21,To_Date('02/01/2010','mm/dd/yyyy'),5,2010,7652,10990);
INSERT INTO caln
VALUES (To_Date('02/02/2010','mm/dd/yyyy'),2010,22,To_Date('02/02/2010','mm/dd/yyyy'),5,2010,7653,10991);
INSERT INTO caln
VALUES (To_Date('02/03/2010','mm/dd/yyyy'),2010,23,To_Date('02/03/2010','mm/dd/yyyy'),5,2010,7654,10992);
INSERT INTO caln
VALUES (To_Date('02/04/2010','mm/dd/yyyy'),2010,24,To_Date('02/04/2010','mm/dd/yyyy'),5,2010,7655,10993);
INSERT INTO caln
VALUES (To_Date('02/05/2010','mm/dd/yyyy'),2010,25,To_Date('02/05/2010','mm/dd/yyyy'),5,2010,7656,10994);
INSERT INTO caln
VALUES (To_Date('02/06/2010','mm/dd/yyyy'),2010,0,To_Date('02/05/2010','mm/dd/yyyy'),5,2010,7656,10995);
INSERT INTO caln
VALUES (To_Date('02/07/2010','mm/dd/yyyy'),2010,0,To_Date('02/05/2010','mm/dd/yyyy'),6,2010,7656,10996);
INSERT INTO caln
VALUES (To_Date('02/08/2010','mm/dd/yyyy'),2010,26,To_Date('02/08/2010','mm/dd/yyyy'),6,2010,7657,10997);
INSERT INTO caln
VALUES (To_Date('02/09/2010','mm/dd/yyyy'),2010,27,To_Date('02/09/2010','mm/dd/yyyy'),6,2010,7658,10998);
INSERT INTO caln
VALUES (To_Date('02/10/2010','mm/dd/yyyy'),2010,28,To_Date('02/10/2010','mm/dd/yyyy'),6,2010,7659,10999);
INSERT INTO caln
VALUES (To_Date('02/11/2010','mm/dd/yyyy'),2010,29,To_Date('02/11/2010','mm/dd/yyyy'),6,2010,7660,11000);
INSERT INTO caln
VALUES (To_Date('02/12/2010','mm/dd/yyyy'),2010,30,To_Date('02/12/2010','mm/dd/yyyy'),6,2010,7661,11001);
INSERT INTO caln
VALUES (To_Date('02/13/2010','mm/dd/yyyy'),2010,0,To_Date('02/12/2010','mm/dd/yyyy'),6,2010,7661,11002);
INSERT INTO caln
VALUES (To_Date('02/14/2010','mm/dd/yyyy'),2010,0,To_Date('02/12/2010','mm/dd/yyyy'),7,2010,7661,11003);
INSERT INTO caln
VALUES (To_Date('02/15/2010','mm/dd/yyyy'),2010,31,To_Date('02/15/2010','mm/dd/yyyy'),7,2010,7662,11004);
INSERT INTO caln
VALUES (To_Date('02/16/2010','mm/dd/yyyy'),2010,32,To_Date('02/16/2010','mm/dd/yyyy'),7,2010,7663,11005);
INSERT INTO caln
VALUES (To_Date('02/17/2010','mm/dd/yyyy'),2010,33,To_Date('02/17/2010','mm/dd/yyyy'),7,2010,7664,11006);
INSERT INTO caln
VALUES (To_Date('02/18/2010','mm/dd/yyyy'),2010,34,To_Date('02/18/2010','mm/dd/yyyy'),7,2010,7665,11007);
INSERT INTO caln
VALUES (To_Date('02/19/2010','mm/dd/yyyy'),2010,35,To_Date('02/19/2010','mm/dd/yyyy'),7,2010,7666,11008);
INSERT INTO caln
VALUES (To_Date('02/20/2010','mm/dd/yyyy'),2010,0,To_Date('02/19/2010','mm/dd/yyyy'),7,2010,7666,11009);
CREATE TABLE ords
( ord_nbr NUMBER NOT NULL
, sub_nbr NUMBER NOT NULL
, ord_stat VARCHAR2(2)
, ord_qty NUMBER
, part_nbr VARCHAR2(5)
CONSTRAINT ords_pk PRIMARY KEY (ord_nbr, sub_nbr)
INSERT INTO ords
VALUES (1,1,'CL',10,'PART1');
INSERT INTO ords
VALUES (1,2,'CL',5,'PART1');
INSERT INTO ords
VALUES (25,1,'CL',15,'PART2');
INSERT INTO ords
VALUES (14,1,'OP',12,'PART3');
INSERT INTO ords
VALUES (33,1,'CL',25,'PART1');
INSERT INTO ords
VALUES (33,2,'CL',15,'PART1');
INSERT INTO ords
VALUES (33,3,'OP',10,'PART1');
INSERT INTO ords
VALUES (7,1,'PL',18,'PART2');
INSERT INTO ords
VALUES (96,1,'PL',10,'PART3');
INSERT INTO ords
VALUES (31,1,'CL',20,'PART2');
CREATE TABLE oops
( ord_nbr NUMBER NOT NULL
, sub_nbr NUMBER NOT NULL
, op_nbr VARCHAR2(4) NOT NULL
, mach_id VARCHAR2(4)
, oper_stat VARCHAR2(2)
, plan_start_dt DATE
, plsu NUMBER
, plrn NUMBER
CONSTRAINT ords_pk PRIMARY KEY (ord_nbr, sub_nbr, op_nbr)
-- NOTE:
-- for the orders with a status of 'CL' or 'PL' in the 'ords' table, I'm not bothering to put
-- in more than two operations (though in reality more would be there) since they should be
-- ignored in the final result anyway
INSERT INTO oops
VALUES (1,1,'0010','123A','CL',TO_DATE('01/11/2010','mm/dd/yyyy'),2,0.2);
INSERT INTO oops
VALUES (1,1,'0015','259B','CP',TO_DATE('01/12/2010','mm/dd/yyyy'),1,0.15);
INSERT INTO oops
VALUES (1,2,'0010','123A','CP',TO_DATE('01/11/2010','mm/dd/yyyy'),2,0.2);
INSERT INTO oops
VALUES (1,2,'0015','259B','CP',TO_DATE('01/12/2010','mm/dd/yyyy'),1,0.15);
INSERT INTO oops
VALUES (25,1,'0005','123A','CP',TO_DATE('01/18/2010','mm/dd/yyyy'),2,0.25);
INSERT INTO oops
VALUES (25,1,'0030','110C','CL',TO_DATE('01/19/2010','mm/dd/yyyy'),4,0.1);
INSERT INTO oops
VALUES (14,1,'0010','127A','CP',TO_DATE('01/11/2010','mm/dd/yyyy'),2,0.25);
INSERT INTO oops
VALUES (14,1,'0025','110C','CL',TO_DATE('01/12/2010','mm/dd/yyyy'),1,0.1);
INSERT INTO oops
VALUES (14,1,'0040','050C','CP',TO_DATE('01/13/2010','mm/dd/yyyy'),1.3,0.15);
INSERT INTO oops
VALUES (14,1,'0050','220B','WK',TO_DATE('01/14/2010','mm/dd/yyyy'),4,0.25);
INSERT INTO oops
VALUES (14,1,'0065','242B','AV',TO_DATE('01/18/2010','mm/dd/yyyy'),1.5,0.1);
INSERT INTO oops
VALUES (14,1,'0067','150G','NA',TO_DATE('01/19/2010','mm/dd/yyyy'),2,0.1);
INSERT INTO oops
VALUES (14,1,'0100','250G','NA',TO_DATE('01/20/2010','mm/dd/yyyy'),2.1,0.2);
INSERT INTO oops
VALUES (33,1,'0010','123A','CL',TO_DATE('01/11/2010','mm/dd/yyyy'),1.9,0.2);
INSERT INTO oops
VALUES (33,1,'0015','259B','CP',TO_DATE('01/12/2010','mm/dd/yyyy'),1,0.1);
INSERT INTO oops
VALUES (33,2,'0010','123A','CL',TO_DATE('01/11/2010','mm/dd/yyyy'),1.9,0.2);
INSERT INTO oops
VALUES (33,2,'0015','259B','CP',TO_DATE('01/12/2010','mm/dd/yyyy'),1,0.1);
INSERT INTO oops
VALUES (33,3,'0010','123A','CL',TO_DATE('01/11/2010','mm/dd/yyyy'),1.9,0.2);
INSERT INTO oops
VALUES (33,3,'0015','259B','CP',TO_DATE('01/12/2010','mm/dd/yyyy'),1,0.1);
INSERT INTO oops
VALUES (33,3,'0020','220B','NA',TO_DATE('01/12/2010','mm/dd/yyyy'),1.7,0.15);
INSERT INTO oops
VALUES (33,3,'0030','150G','NA',TO_DATE('01/13/2010','mm/dd/yyyy'),1.3,0.05);
INSERT INTO oops
VALUES (33,3,'0055','150G','NA',TO_DATE('01/15/2010','mm/dd/yyyy'),2.1.,0.1);
INSERT INTO oops
VALUES (7,1,'0005','123A','NA',TO_DATE('01/11/2010','mm/dd/yyyy'),2,0.2);
INSERT INTO oops
VALUES (7,1,'0030','110C','NA',TO_DATE('01/12/2010','mm/dd/yyyy'),1,0.15);
INSERT INTO oops
VALUES (96,1,'0010','127A','NA',TO_DATE('01/11/2010','mm/dd/yyyy'),2,0.25);
INSERT INTO oops
VALUES (96,1,'0025','110C','NA',TO_DATE('01/12/2010','mm/dd/yyyy'),1,0.1);
INSERT INTO oops
VALUES (31,1,'0005','123A','CL',TO_DATE('01/11/2010','mm/dd/yyyy'),1.9,0.2);
INSERT INTO oops
VALUES (31,1,'0030','110C','CP',TO_DATE('01/12/2010','mm/dd/yyyy'),1,0.1);
CREATE TABLE mach
( mach_id VARCHAR2(4) NOT NULL
, desc_short VARCHAR2(9)
, group VARCHAR2(7)
CONSTRAINT ords_pk PRIMARY KEY (mach_id)
INSERT INTO mach
VALUES ('123A','desc here','GROUPH1');
INSERT INTO mach
VALUES ('259B','desc here','GROUPH2');
INSERT INTO mach
VALUES ('110C','desc here','GROUPJ1');
INSERT INTO mach
VALUES ('050C','desc here','GROUPK2');
INSERT INTO mach
VALUES ('220B','desc here','GROUPH2');
INSERT INTO mach
VALUES ('242B','desc here','GROUPH2');
INSERT INTO mach
VALUES ('150G','desc here','GROUPL1');
INSERT INTO mach
VALUES ('250G','desc here','GROUPL2');
INSERT INTO mach
VALUES ('242B','desc here','GROUPH2'); -
Need help with complex column creation command
Hello, all
I need help with a complex column creation command and SQL anywhere help is not sufficient for it.
Here is the situation:
I need to write a generic DDL "alter table" command, which can add/modify columns without knowing in advance if they already exist in the destination table.
Is there a command, which looks like:
alter table "table1" add (on existing modify) column1 <datatype> <default> ?
Thank you,
ArcadyHi.
I don't think this is supported in alter table command. But you can code that inside an if statement which queries systables & syscolumns. Your code should be something like that:
if (select count(*) from sysobjects, syscolumns where sysobjects.id = syscolumns.id and sysobjects.name = 'some_table' and syscolumns.name = 'some_column') < 1
begin
alter table some_table add some_column numeric(12) not null
end
This is an example..
Andreas. -
Need help with my graphic calculator!!!
Hello everybody!! I need help with my little program I made.... The problem is that I am unable to use to calculate but it is possible to compile the code!! What should I do?? Thanks in advance.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Aritmetik extends JFrame implements ActionListener{
private JLabel l1 = new JLabel("Tal1: ", JLabel.LEFT);
private JLabel l2 = new JLabel("Tal2: ", JLabel.LEFT);
private JLabel l3 = new JLabel("Resultat",JLabel.LEFT);
private JLabel l4 = new JLabel(" ", JLabel.RIGHT);
private JTextField t1 = new JTextField(" ",10);
private JTextField t2 = new JTextField(" ",10);
private JButton b1 = new JButton("+");
private JButton b2 = new JButton("-");
private JButton b3 = new JButton("*");
private JButton b4 = new JButton("/");
public Aritmetik(){
Container v = getContentPane();
v.setLayout(new GridLayout(5,2));
v.add(l1);
v.add(t1);
v.add(l2);
v.add(t2);
v.add(b1);
v.add(b2);
v.add(b3);
v.add(b4);
v.add(l3);
v.add(l4);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
pack();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
public void actionPerformed(ActionEvent e){
int tal1 = Integer.parseInt(t1.getText());
int tal2 = Integer.parseInt(t2.getText());
if(e.getSource() == b1){
if(t1.getText().equals("") || t2.getText().equals(""))
JOptionPane.showMessageDialog(null, "Mata in tal!");
else{
l3.setText("Resultat ");
l4.setText(" " + (tal1+tal2));
else if(e.getSource() == b2){
int sub = tal1-tal2;
l4.setText(" " + (sub));
else if(e.getSource() == b3){
int multi = tal1*tal2;
l4.setText(" " + (multi));
else if(e.getSource() == b4){
int div = tal1/tal2;
l4.setText(" " + (div));
public static void main(String[] arg){
Aritmetik A =new Aritmetik();Here is your problem:
public void actionPerformed(ActionEvent e){
int tal1 = Integer.parseInt(t1.getText().trim()); // add the trim()
int tal2 = Integer.parseInt(t2.getText().trim()); // add the trim()
if(e.getSource() == b1){
if(t1.getText().equals("") || t2.getText().equals(""))
JOptionPane.showMessageDialog(null, "Mata in tal!");
else{
l3.setText("Resultat ");
l4.setText(" " + (tal1+tal2));
}... Better ...
public void actionPerformed(ActionEvent e) throws NumberFormatException {
String tala = t1.getText().trim();
String talb = t2.getText().trim();
if ( tala == null || "".equals(tala) || talb == null || "".equals(talb) ) {
JOptionPane.showMessageDialog(null, "Mata in tal!");
return();
int tal1 = Integer.parseInt(tala);
int tal2 = Integer.parseInt(talb);
if(e.getSource() == b1){
l3.setText("Resultat ");
l4.setText(" " + (tal1+tal2));
else if(e.getSource() == b2){
int sub = tal1-tal2;
l4.setText(" " + (sub));
else if(e.getSource() == b3){
int multi = tal1*tal2;
l4.setText(" " + (multi));
else if(e.getSource() == b4){
int div = tal1/tal2;
l4.setText(" " + (div));
}Message was edited by:
abillconsl -
Need help regarding complex calculation using Max value and limiting data after Max date in MDX
I am working on a bit complex calculated measure in SSAS cube script mode.
Scenario /Data Set
Date
A
B
C
A+B
5/29/2014
Null
34
Null
34
6/30/2014
Null
23
45
68
7/15/2014
25
-25
Null
0
8/20/2014
-34
Null
Null
-34
9/30/2014
25
Null
60
25
10/15/2014
45
-45
Null
0
11/20/2014
7
8
Null
15
a) Need to capture latest non-null value of Column C based on date
with above example it should be 60 as of 9/30/2014
b) Need to capture column A+B for all dates.
c) Add values from column (A+B) only after latest date which is after 9/30/2014.
with above example it's last 2 rows and sum is 15
d) Finally add value from step a and step c. which means the calc measure value should be = 75
I need to perform all this logic in MDX. I was able to successfully get step a and b in separate calc measure, however i am not sure how to limit the scope based on certain date criteria. In this case it's, date> Max date(9/30/2014) . Also how should
i add calculated members and regular members?
I was able to get max value of C based on date and max date to limit the scope.
CREATE MEMBER CURRENTCUBE.[Measures].[LatestC] AS
TAIL(
NONEMPTY(
[Date].[Date].CHILDREN*[Measures].[C]),1).ITEM(0) ,visible=1;
CREATE MEMBER CURRENTCUBE.[Measures].[MaxDateofC] AS
TAIL(
NONEMPTY(
[Date].[Date].CHILDREN,[Measures].[C]),1).ITEM(0).MemberValue ,visible=1;
Please help with Scope statement to limit the aggregation of A+B for dates > MaxDateofC? Also further how to add this aggregation value to LatestC calc measure?
Thank YouHi Peddi,
I gave TRUNC to both of the dates. But still the same issue. I think the problem is in returning the BolbDomain.
return blobDomain;
} catch (XDOException xdoe) {
System.out.println("Exception in XDO :");
throw new OAException("Exception in XDO : "+xdoe.getMessage());
catch (SQLException sqle) {
System.out.println("Exception in SQL :");
throw new OAException("SQL Exception : "+sqle.getMessage());
catch (OAException e) {
System.out.println("Exception in OA :");
throw new OAException("Unexpected Error :: " +e.getMessage());
Thanks and Regards,
Myvizhi -
I need help with this program ( Calculating Pi using random numbers)
hi
please understand that I am not trying to ask anymore to do this hw for me. I am new to java and working on the assignment. below is the specification of this program:
Calculate PI using Random Numbers
In geometry the ratio of the circumference of a circle to its diameter is known as �. The value of � can be estimated from an infinite series of the form:
� / 4 = 1 - (1/3) + (1/5) - (1/7) + (1/9) - (1/11) + ...
There is another novel approach to calculate �. Imagine that you have a dart board that is 2 units square. It inscribes a circle of unit radius. The center of the circle coincides with the center of the square. Now imagine that you throw darts at that dart board randomly. Then the ratio of the number of darts that fall within the circle to the total number of darts thrown is the same as the ratio of the area of the circle to the area of the square dart board. The area of a circle with unit radius is just � square unit. The area of the dart board is 4 square units. The ratio of the area of the circle to the area of the square is � / 4.
To simuluate the throwing of darts we will use a random number generator. The Math class has a random() method that can be used. This method returns random numbers between 0.0 (inclusive) to 1.0 (exclusive). There is an even better random number generator that is provided the Random class. We will first create a Random object called randomGen. This random number generator needs a seed to get started. We will read the time from the System clock and use that as our seed.
Random randomGen = new Random ( System.currentTimeMillis() );
Imagine that the square dart board has a coordinate system attached to it. The upper right corner has coordinates ( 1.0, 1.0) and the lower left corner has coordinates ( -1.0, -1.0 ). It has sides that are 2 units long and its center (as well as the center of the inscribed circle) is at the origin.
A random point inside the dart board can be specified by its x and y coordinates. These values are generated using the random number generator. There is a method nextDouble() that will return a double between 0.0 (inclusive) and 1.0 (exclusive). But we need random numbers between -1.0 and +1.0. The way we achieve that is:
double xPos = (randomGen.nextDouble()) * 2 - 1.0;
double yPos = (randomGen.nextDouble()) * 2 - 1.0;
To determine if a point is inside the circle its distance from the center of the circle must be less than the radius of the circle. The distance of a point with coordinates ( xPos, yPos ) from the center is Math.sqrt ( xPos * xPos + yPos * yPos ). The radius of the circle is 1 unit.
The class that you will be writing will be called CalculatePI. It will have the following structure:
import java.util.*;
public class CalculatePI
public static boolean isInside ( double xPos, double yPos )
public static double computePI ( int numThrows )
public static void main ( String[] args )
In your method main() you want to experiment and see if the accuracy of PI increases with the number of throws on the dartboard. You will compare your result with the value given by Math.PI. The quantity Difference in the output is your calculated value of PI minus Math.PI. Use the following number of throws to run your experiment - 100, 1000, 10,000, and 100,000. You will call the method computePI() with these numbers as input parameters. Your output will be of the following form:
Computation of PI using Random Numbers
Number of throws = 100, Computed PI = ..., Difference = ...
Number of throws = 1000, Computed PI = ..., Difference = ...
Number of throws = 10000, Computed PI = ..., Difference = ...
Number of throws = 100000, Computed PI = ..., Difference = ...
* Difference = Computed PI - Math.PI
In the method computePI() you will simulate the throw of a dart by generating random numbers for the x and y coordinates. You will call the method isInside() to determine if the point is inside the circle or not. This you will do as many times as specified by the number of throws. You will keep a count of the number of times a dart landed inside the circle. That figure divided by the total number of throws is the ratio � / 4. The method computePI() will return the computed value of PI.
and below is what i have so far:
import java.util.*;
public class CalculatePI
public static boolean isInside ( double xPos, double yPos )
double distance = Math.sqrt( xPos * xPos + yPos * yPos );
public static double computePI ( int numThrows )
Random randomGen = new Random ( System.currentTimeMillis() );
double xPos = (randomGen.nextDouble()) * 2 - 1.0;
double yPos = (randomGen.nextDouble()) * 2 - 1.0;
int hits = 0;
int darts = 0;
int i = 0;
int areaSquare = 4 ;
while (i <= numThrows)
if (distance< 1)
hits = hits + 1;
if (distance <= areaSquare)
darts = darts + 1;
double PI = 4 * ( hits / darts );
i = i+1;
public static void main ( String[] args )
Scanner sc = new Scanner (System.in);
System.out.print ("Enter number of throws:");
int numThrows = sc.nextInt();
double Difference = PI - Math.PI;
System.out.println ("Number of throws = " + numThrows + ", Computed PI = " + PI + ", Difference = " + difference );
}when I tried to compile it says "cannot find variable 'distance' " in the while loop. but i thought i already declare that variable in the above method. Please give me some ideas to solve this problem and please check my program to see if there is any other mistakes.
Thanks a lot.You've declared a local variable, distance, in the method isInside(). The scope of this variable is limited to the method in which it is declared. There is no declaration for distance in computePI() and that is why the compiler gives you an error.
I won't check your entire program but I did notice that isInside() is declared to be a boolean method but doesn't return anything, let alone a boolean value. In fact, it doesn't even compute a boolean value. -
Need Help with complex query for productio database
Hello again,
i need your help again, for an query how Shows me how long every production step takes per Order.
See sample data and what i expect.
Thank you all for your help.
We use Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
Here the sample data tables:
CREATE TABLE TABLE_2
( "ORDER_NR" VARCHAR2 (12)
, "PRIORITY" VARCHAR2 (2)
, "WO_STEP" VARCHAR2 (1)
, "STEP_DATE" DATE
CREATE TABLE TABLE_1
( "ORDER_NR" VARCHAR2 (12) PRIMARY KEY
, "PRIORITY" VARCHAR2 (2)
, "CREATE_DATE" DATE
, "ACT_STEP" VARCHAR2 (2)
, "STEP_DATE" DATE
, "EMPLOYEE" VARCHAR2 (5)
, "DESCRIPTION" VARCHAR2 (20)
INSERT INTO TABLE_1 (ORDER_NR, PRIORITY, CREATE_DATE, ACT_STEP, STEP_DATE, EMPLOYEE, DESCRIPTION)
VALUES ('1KKA1T205634', '12', TO_DATE('10-FEB-13 10:00:00','DD-MON-RR HH24:MI:SS'), 'U', TO_DATE('28-FEB-13 12:00:00','DD-MON-RR HH24:MI:SS'), 'W0010', 'CLEAN HOUSE');
INSERT INTO TABLE_1 (ORDER_NR, PRIORITY, CREATE_DATE, ACT_STEP, STEP_DATE, EMPLOYEE, DESCRIPTION)
VALUES ('1KKA1Z300612', '12', TO_DATE('08-FEB-13 14:00:00','DD-MON-RR HH24:MI:SS'), 'F', TO_DATE('20-FEB-13 16:00:00','DD-MON-RR HH24:MI:SS'), 'K0052', 'REPAIR CAR');
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1T205634', '12', 'A', TO_DATE('12-FEB-13 13:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1T205634', '12', '5', TO_DATE('13-FEB-13 09:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1T205634', '12', 'K', TO_DATE('13-FEB-13 10:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1T205634', '12', '5', TO_DATE('13-FEB-13 11:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1T205634', '12', 'K', TO_DATE('13-FEB-13 12:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1T205634', '12', '5', TO_DATE('13-FEB-13 16:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1T205634', '12', 'C', TO_DATE('14-FEB-13 08:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1T205634', '12', 'B', TO_DATE('14-FEB-13 10:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1T205634', '12', 'E', TO_DATE('18-FEB-13 13:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1T205634', '12', 'F', TO_DATE('20-FEB-13 16:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1T205634', '12', 'S', TO_DATE('21-FEB-13 08:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1T205634', '12', 'R', TO_DATE('21-FEB-13 09:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1T205634', '12', 'U', TO_DATE('28-FEB-13 12:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1Z300612', '12', 'A', TO_DATE('12-FEB-13 13:52:42','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1Z300612', '12', '5', TO_DATE('13-FEB-13 09:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1Z300612', '12', 'K', TO_DATE('13-FEB-13 10:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1Z300612', '12', '5', TO_DATE('13-FEB-13 11:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1Z300612', '12', 'K', TO_DATE('13-FEB-13 12:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1Z300612', '12', '5', TO_DATE('13-FEB-13 16:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1Z300612', '12', 'C', TO_DATE('14-FEB-13 08:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1Z300612', '12', 'B', TO_DATE('14-FEB-13 10:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1Z300612', '12', 'E', TO_DATE('18-FEB-13 13:00:00','DD-MON-RR HH24:MI:SS'));
INSERT INTO TABLE_2 (ORDER_NR, PRIORITY, WO_STEP, STEP_DATE)
VALUES ('1KKA1Z300612', '12', 'F', TO_DATE('20-FEB-13 16:00:00','DD-MON-RR HH24:MI:SS'));
COMMIT;And here is what i expect from my query:
SYSDATE 28.Feb.13 14:00
ORDER_NR PRIORITYCREATE_DATE STATUS STATUS_DATE DESCRIPTION AGE_1 AGE_2 WAITNG STEP_A STEP_B STEP_C STEP_5 STEP_K STEP_E STEP_F STEP_S STEP_R
1KKA1T205634 12 10.Feb.13 10:00 U 28.Feb.13 12:00 CLEAN HOUSE 18,083 8,833 2,125 0,833 4,125 0,083 0,750 0,208 2,125 0,666 0,042 7,125
1KKA1Z300612 12 08.Feb.13 14:00 F 20.Feb.13 16:00 REPAIR CAR 20,000 16,042 2,125 0,833 4,125 0,083 0,750 0,208 2,125 0,666 And now the explanation to the query result:
The AGE_1 is the difference in days between the 'CREATE_DATE' and IF EXSIST the STEP 'U' then STEP_DATE or if the STEP 'U' is not found in TABLE_2 then it should show the difference in days between the 'CREATE_DATE' and the 'SYSDATE'
The AGE_2 is the difference in days between the STEP 'A' STEP_DATE and IF EXSIST the STEP 'R' then STEP_DATE or if the STEP 'R' is not found in TABLE_2 then it should show the difference in days between the 'CREATE_DATE' and the 'SYSDATE'
The WAITING is the difference in days between CREATE_DATE and STEP 'A' STEP_DATE
The following columns show the days how long the ORDER_NR stays in these STEP, if an ORDER_NR comes into the same STEP more then one time it should be calculated together.
If the ORDER_NR skips a step it should show a zero in the specific field.
I hope my explanation is good enough, my english skills are far away from good.
Thanks all for your help.
Greets Reinhard W.Hi,
i changed this query:
with t2 as (
select t.*,
lead(step_date) over(partition by order_nr order by step_date) next_step_date
from table_2 t
select t1.*,
nvl(
max(
case t2.wo_step
when 'U' then t2.step_date
end
sysdate
) - t1.create_date age_1,
nvl(
max(
case t2.wo_step
when 'R' then t2.step_date
end
sysdate
) - t1.create_date age_2,
sum(
case t2.wo_step
when 'B' then t2.next_step_date - t2.step_date
end
) step_b
from table_1 t1,
t2
where t2.order_nr = t1.order_nr
group by t1.order_nr,
t1.priority,
t1.create_date,
t1.act_step,
t1.step_date,
t1.employee,
t1.descriptionTo this:
with t2 as (
select t.*,
lead(step_date) over(partition by order_nr order by step_date) next_step_date
from table_2 t
select t1.order_nr,
nvl(
max(
case t2.wo_step
when 'U' then t2.step_date
end
sysdate
) - t1.create_date age_1,
nvl(
max(
case t2.wo_step
when 'R' then t2.step_date
end
sysdate
) - t1.create_date age_2,
sum(
case t2.wo_step
when 'B' then t2.next_step_date - t2.step_date
end
) step_b
from table_1 t1,
t2
where t2.order_nr = t1.order_nr
group by t1.order_nrthen i get the ORA-00979 Error.
Whats wrong?
I have another question.
How can i handle i i want to group to or more 'STEP's in one Column.
in Case of this i want that the column 'STEP_B' contains all days for STEP 'B' and STEP '5'.
I tried already with a + Operation like this:
with t2 as (
select t.*,
lead(step_date) over(partition by order_nr order by step_date) next_step_date
from table_2 t
select t1.*,
nvl(
max(
case t2.wo_step
when 'U' then t2.step_date
end
sysdate
) - t1.create_date age_1,
nvl(
max(
case t2.wo_step
when 'R' then t2.step_date
end
sysdate
) - t1.create_date age_2,
Round( sum(
case t2.wo_step
when 'B' then t2.next_step_date - t2.step_date
end
) +
sum(
case t2.wo_step
when '5' then t2.next_step_date - t2.step_date
end
), 3 ) step_b
from table_1 t1,
t2
where t2.order_nr = t1.order_nr
group by t1.order_nr,
t1.priority,
t1.create_date,
t1.act_step,
t1.step_date,
t1.employee,
t1.descriptionBut this does reply evertime a NULL.
Thank You. -
Need help with crazy custom calculations code in Acrobat XI pro
Im trying to calculate some text feilds together and just cant figure it out. I have two text feild boxes that I would input certain numbers to calculate in, Textfeild D5 and D6, once the user supplies the numbers in the D5 and D6 I need a text feild (D9) to calculate and produce a number thats used in another calculation. Any help would be greatly appriciated. Im good at HTML and CSS but only begining with javascript. Im using acrobat XI pro and I put this code in the custom javascript area within the text feld "D9" properties.
var Dsix = +getField("D6").value;
var Dfive = +getFeild("D5").value;
var B2 = 0.37;
var B3 = 0.45;
var B4 = 0.53;
if (Dsix = 15){
D9.value = B2*Dfive;
if (Dsix = 30){
D9.value = B3*Dfive;
if (Dsix = 45){
D9.value = B4*Dfive;Well thats makes since but unfortunitly it didnt work. The green text feild D9 is where im placing code at. they will be hiiden feilds. the red outlined text feilds are all input feilds. seconds is D6 and nozzels is D5.
-
How to do complex engineering calculation in labview.I tried using MATLAB script
Hello,
I am trying to use matlab script node to solve two complex equation.But i get different errors everytime i run my program.sometimes 1048 sometimes 1050 and sometimes it says LABVIEW could not extract variable from Matlab.I am attaching my MATLAB script node with this thread.Please Help me out to get rid of this problem.
I am using LV-8 and MATLAB R-2006a.
Attachments:
matlab.vi 10 KBHi Praween,
beside my little MatLab knowledge I tried to replace your formula with equivalent LV code...
Best regards,
GerdW
CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
Kudos are welcome
Attachments:
matlab_lv80.vi 18 KB -
Need help on a basic calculator
Hello,
Please help me to make this calculator run. When I run this, it takes up the first and second value. Then it ask for the arithmetic options. But I get no reply. The program displays " Please try again" and then "Result 0". Could you please tell me why is this happening and what i need to know from this.
Here is the code:
import javax.swing.JOptionPane;
public class Calculator {
public static void main(String [] args){
String num1, //Storing first number.
num2, // Storing second number.
choice; // Storing user choice.
int iNum1, //First number after converting to integer.
iNum2,// Second number after converting to integer
option=0, // User option.
result=0; // Storing final result.
num1= JOptionPane.showInputDialog("Enter the first number");
num2= JOptionPane.showInputDialog("Enter the second number");
//Converting String to integer.
iNum1=Integer.parseInt(num1);
iNum2=Integer.parseInt(num2);
//Getting +,-,%,* choice from the user.
choice=JOptionPane.showInputDialog("Enter '+' or '-' or '%' or '*'");
switch (option){
case '+':
result = iNum1+iNum2;
case '-':
result = iNum1-iNum2;
case '*':
result = iNum1*iNum2;
case '%':
result = iNum1%iNum2;
default:
JOptionPane.showMessageDialog(null,"Please try again");
}// End Switch
JOptionPane.showMessageDialog(null,"Result "+result,"RESULT",JOptionPane.INFORMATION_MESSAGE);
}// End of main()
} // End of ClassSee these two lines
choice=JOptionPane.showInputDialog("Enter '+' or '-' or '%' or '*'");
switch (option){Is there something missing there? Or is the String "choice" to magically become the char "option"? -
Beginner- need help to automate a device using labview
Hi,
I am a graduate student pursuing my masters in mechanical engineering. I have been asked to work on a project that involves automating a gas plasma surface cleaner using labview. Since i have no knowledge about electrical equipments and this is the first time i am using labview, i would need some help so that i can get started with the project. so, basically the equipment is a small box inside which surgical tools can be placed and sterilized. Once the surgical tool is placed, the door is shut manually and the glass chamber is depressurized and then injected with a hydrogen peroxide gas. Then the plasma discharge is started by switching on the equipment. It runs for about 3 minutes, and then we manually re-pressurize the chamber and open the door to take out the tool. I will have to automate this process. Please let me know how to get started in terms of integration of the equipment with labview etc and things i need to know. Also, let me know if you need more details.I could also attach a picture of the equipment if needed.
Thanks,
ArvindArvind,
Since you are working on your Masters degree, it is likely that you already have a Bachelors dergree or equivalent. So I will assume that you know the basics of engineering. I will also assume that your previous classes did not actually teach you much about design or how to manage a project (because so many engineering schools do not teach that).
You have a statement in qualitative terms describing your project. The next thing to do is to specify in quantitative terms the parameters which are important to success of the project. Size of the box, pressures, temperatures, times, plasma densities, ... You will also need a sequence-of-events document which includes not only the basic process but also as many possible faults and failure modes as possible.
For example. Close the door manually. (How will the automated system know the door is shut? What will it do if the door does not shut within x seconds?) Depressurize the chamber. (To what pressure or vacuum level? How much time is allowed for this step? What if the pressure is still too high after the time limit? -- This suggests a leak.) Inject hydrogen peroxide. (How much? How will it be measured? What it the pressure/time/quantity is too high? Or too low?) ...
What kinds of sensors or measuring equipment are needed to answer all these questions? What kinds of output signals are generated by these sensors and instruments?
What kind of actuators or controllers are needed to perform the actions of the system? What kinds of signals do you need to generate to control these devices?
Does this device (as medical equipment) need to meet specific regulatory requirements? Steam sterilizers need to have certifiable measurements of the time and temperature inside the chamber. It may be necessary to have measurements independent from those used for the automation process.
Once you have a comprehensive specification document, then you begin to identify components, instruments, and systems which can satisfy the individual requirements. Then you figure out how to get everything to talk to everything else. That is where the programming language (which may be LabVIEW) comes in. The task of the program is to implement the communications between devices and users and to do much of the decision-making for the apparatus.
If you are not taking a course which teaches the basics of LabVIEW, you should start with the on-line tutorials. You can work on these while preparing the specification document.
Lynn -
Need help with a form calculation
I am trying to create a form in Acrobat that will support a calculation of percentages. I have the
following formula:
if (a1.value == "" || a1.value == "" && b1.value == "") {c1=0} else {b1/a1}
The percentage is not calculating and is remaining at 0% when numbers are entered on the form. I am trying to avoid the error messages we receive if we just enter the basic calculation in to the simplified (because some of the cells may have a value of 0).
Can anyone help?Try this:
// Get the field values
var v1 = getField("a1").value;
var v2 = getField("b1").value;
//. Perform the calculation
if (v1) {
event.value = v2 / v1;
} else {
event.value = 0;
Edit: corrected typo -
Need Help with Complex Background Images
Hey, Macromedia, I mean, Adobe Dreamweaver users. I have a
dilemma, before you read further, look at this website:
https://statons.rtotogo.com/rtotogostore/rto_store/sign_in.asp.
Notice the background images. The light tan stripe at the top, the
orange/yellow stripe beneath it, and the darker tan color that
encompasses the rest of the background. When you go to a longer
page on the site, the top two colors do not repeat, and as the page
shrinks on smaller pages, so does the darker tan background. How
can I do this? I've seen it done before, and I read the source
code, but I am confused as to how I can accomplish this..... Please
advise! I am in desperate need of your expertise!
Thanks in advance for the help.
ChuckIt's controlled using CSS check out the css script and the
backgounds are
set to repeat along the x axis only
cheers
Ian
[email protected]
http://www.edwards-micros.co.uk
"ChuckRWD" <[email protected]> wrote in
message
news:e93ha7$lmi$[email protected]..
> Hey, Macromedia, I mean, Adobe Dreamweaver users. I have
a dilemma,
> before you
> read further, look at this website:
>
https://statons.rtotogo.com/rtotogostore/rto_store/sign_in.asp.
Notice
> the
> background images. The light tan stripe at the top, the
orange/yellow
> stripe
> beneath it, and the darker tan color that encompasses
the rest of the
> background. When you go to a longer page on the site,
the top two colors
> do
> not repeat, and as the page shrinks on smaller pages, so
does the darker
> tan
> background. How can I do this? I've seen it done before,
and I read the
> source code, but I am confused as to how I can
accomplish this.....
> Please
> advise! I am in desperate need of your expertise!
>
> Thanks in advance for the help.
> Chuck
> -
Please help resolve this math probelm in labview?
I try to use fft and ifft to make a filter, to remove some frequencies and then convert to time domain. I have problems to do it. To make it simple I attach a lv 2009 example, which has two component 10 hz and 15 hz input.
Can you help me in removing 15 hz after FFT and then convert with IFFT. Just to check if only 10 hZ signal left after IFFT.
If you can give me an example like this, my problem will be solved.
Thanks
Liming
Attachments:
IFFT_FFT_LV2009[1].vi 50 KBdetech wrote:
I bough NI cards, labview, and paid service. Can I post my question and get help?
Did my question answered so far?
The software boards are NI product users helping other users. NI employees do monitor and often answer your questions, but there is no guarantee of service when using the discussion forums.
If you have a specific question that requires a timely response, you can formally enter a help request where an NI engineer will respond and take responsibility for answering your question(s).
NI employees can be identified on the discussion boards by the blue color of the bars below the user name. You and I (users) are in gold. You will see various shades of blue and gold that indicate the number and quality of the answers provided by that user.
To ask an NI for support, see this web page:
http://sine.ni.com/apps/utf8/nicc.call_me
Since strong@ni is an NI employee and has attempted to answer your question, I would suggest that you continue working on your problem here in this thread.
Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
If you don't hate time zones, you're not a real programmer.
"You are what you don't automate"
Inplaceness is synonymous with insidiousness
Maybe you are looking for
-
I have a new iMac 21.5" - 4GB ram, 3.60 GZ processor. Installed bootcamp partition with Win 7 Pro 64 bit - it was sealed box. Could not get it to recognize the bluetooth keyboard/mouse that came with the unit last Thursday. From page 5 of the inst
-
I have just installed PhotoshopCS5 and it crashes everytime i try to use it. I get an error "Adobe Photoshop CS5.1 has encountered a problem and needs to close. We are sorry for the inconvenience." and i have no option but to close the application.
-
Problem with entering Password?
When I attempt to boot up my iMac and try to type in my Password, I Cannot type the first Letter?
-
Configuring Aironet 1310 as a wireless bridge!
I want to connect a specific SENSOR(IP DEVICE) to my network wirelessly! { The application is as simple as connecting a Trednet wireless adapter to the TV to access the HOME WIRELESS NETWORK to WATCH NETFLIX on INTERNET TV! But my Client wants to us
-
Duplicate files after a Carbonite Restore
I recently bought a new MBP to replace my old one. I use the Carbonite back up system. When my "restore" from Carbonite was completed, I noticed that it had taken up twice the amount on my HD than the size of the restore. Basically what it did was